Do this first on every site
A fresh WordPress site works, but its defaults suit nobody in particular. Spending ten minutes in Settings before adding content saves problems later. This lesson goes through the screens that matter, in a sensible order.
General
Settings → General:
- Site Title and Tagline: shown in the browser tab, by many themes in the header, and in search results. Replace or clear the tagline; many sites leave it empty.
- WordPress Address (URL) and Site Address (URL): where WordPress lives and the address visitors use. Usually the same. Changing these wrongly can lock you out, so only change them when moving a site (a later lesson).
- Administration Email Address: receives important notices. Use an address someone reads.
- Membership: whether anyone can register, and with which role. Leave registration off unless you need it, and if you turn it on, keep the default role as Subscriber.
- Site Language, Timezone, Date Format, Time Format, Week Starts On.
Choose a city for the time zone, not a UTC offset: a city follows daylight saving changes automatically. With WP-CLI:
wp option update timezone_string "Asia/Kolkata"
wp option update date_format "j F Y"
wp eval 'echo wp_date( get_option( "date_format" ) . " " . get_option( "time_format" ), strtotime( "2026-01-15 10:00:00 UTC" ) ), "\n";'Success: Updated 'timezone_string' option.
Success: Updated 'date_format' option.
15 January 2026 3:30 pmwp_date() formats a moment in the site's time zone: 10:00 UTC is 3:30 pm in India. Every date WordPress shows on the site goes through this setting.
Writing
Settings → Writing sets the default post category (rename Uncategorized first, as in the categories lesson) and the default post format. Most sites need nothing else here.
Reading
Settings → Reading:
- Your homepage displays: latest posts, or a static page (see the posts and pages lesson). Block themes can also design the front page in the Site Editor.
- Blog pages show at most: how many posts per page on listings.
- For each post in a feed: full text or excerpt.
- Search engine visibility: "Discourage search engines from indexing this site".
That last checkbox deserves care. While you build a site, ticking it asks search engines not to index it. WordPress then adds a noindex robots meta tag to every page:
wp option update blog_public 0Success: Updated 'blog_public' option.<?php
ob_start();
wp_robots();
echo trim( ob_get_clean() ), "\n";
update_option( 'blog_public', 1 );
ob_start();
wp_robots();
echo trim( ob_get_clean() ), "\n";<meta name='robots' content='noindex, nofollow' />
<meta name='robots' content='max-image-preview:large' />With blog_public at 0 the robots tag says noindex, nofollow; set back to 1, it allows indexing with large image previews. Forgetting to untick this box when a site goes live is one of the most common reasons a new site never appears in Google. Note that it is a request to search engines, not protection: to keep a site private, use a password or a maintenance-mode plugin.
Discussion and Media
Settings → Discussion is covered in the comments lesson. Settings → Media sets the pixel sizes of the thumbnail, medium and large images (see the media lesson) and whether uploads go into year/month folders.
Permalinks
Settings → Permalinks decides what addresses look like. The options:
| Structure | Example |
|---|---|
| Plain | /?p=123 |
| Day and name | /2026/01/15/opening-hours/ |
| Month and name | /2026/01/opening-hours/ |
| Numeric | /archives/123 |
| Post name | /opening-hours/ |
| Custom | anything built from tags such as %category%, %year%, %postname% |
Post name (/%postname%/) is the most popular choice: short, readable and timeless. News sites sometimes prefer dates in the address. Here is the same post under two structures:
<?php
$id = wp_insert_post( [ 'post_title' => 'Opening hours', 'post_status' => 'publish', 'post_date' => '2026-01-15 09:00:00' ] );
foreach ( [ '/%postname%/', '/%year%/%monthnum%/%postname%/', '' ] as $structure ) {
global $wp_rewrite;
$wp_rewrite->set_permalink_structure( $structure );
printf( "%-32s %s\n", $structure === '' ? '(plain)' : $structure, get_permalink( $id ) );
}
$wp_rewrite->set_permalink_structure( '/%postname%/' );/%postname%/ http://localhost:8080/opening-hours/
/%year%/%monthnum%/%postname%/ http://localhost:8080/2026/01/opening-hours/
(plain) http://localhost:8080/?p=4The same screen sets the category base and tag base, the category and tag parts of archive addresses.
On Apache servers, pretty permalinks rely on rewrite rules in the .htaccess file, which WordPress writes when you save the screen. If every page except the home page shows "Not found" after a move, saving Settings → Permalinks once (without changes) usually fixes it by rewriting those rules.
Choose early
Changing the structure on a live site changes every post's address. Old links from other sites, social media and search results then point to the wrong place. WordPress can guess some old post addresses and redirect them, but not reliably. Choose the structure before launch; if you must change it later, add proper 301 redirects (a redirect plugin or server rules).
Privacy
Settings → Privacy chooses your privacy policy page. WordPress creates a draft one during installation, with suggested text that plugins can add to. Review it, edit it to describe what your site really does with personal data, and publish it; many themes link it from the footer.
Common mistakes
- Launching with "Discourage search engines" still ticked.
- Leaving the default tagline, time zone and "Uncategorized".
- Changing permalinks after launch without redirects.
- Turning on registration with a default role above Subscriber.
Exercise
On your local site: set the time zone to your city, choose the Post name permalink structure, set a static front page, and confirm the settings with WP-CLI.
Show one possible answer
In the dashboard: Settings → General → Timezone (choose your city), Settings → Permalinks → Post name, Settings → Reading → A static page and choose a page. Then: wp option get timezone_string, wp option get permalink_structure (prints /%postname%/), and wp option get show_on_front (prints page).
Key points
- Settings → General holds the site title, tagline, addresses, admin email, language, time zone and date formats.
- Settings → Reading sets the front page and how many posts lists show, and has the search engine visibility switch.
- Permalinks control the address format; /%postname%/ gives short, readable URLs such as /opening-hours/.
- Change the permalink structure early; changing it on a live site breaks old links unless you redirect them.