The cleanest way to change meta descriptions in WordPress is installing Yoast SEO or Rank Math (both free). Once activated, every post and page gets a new section below the content editor where you type your meta description directly. Yoast shows a character counter and preview snippet, Rank Math does the same with a score indicator. You save the post, and the plugin injects the meta tag into your HTML head automatically. Without a plugin, you're editing theme files. Add a conditional meta tag in your theme's header.php between the <head> tags, checking for post or page custom fields. This requires creating custom fields for each post, which gets tedious fast and breaks if you switch themes. At Ottawa SEO, we never recommend this route unless you're running a headless WordPress setup where meta tags are handled externally. For bulk changes across dozens of pages, most SEO plugins let you set templates using variables like %%title%% or %%excerpt%%. Yoast's Search Appearance settings let you define default patterns for post types, taxonomies, and archives. You can then override individual pages as needed. Rank Math has similar template controls under Titles & Meta. Common mistakes: stuffing keywords into meta descriptions (Google ignores them for ranking but they affect click-through), writing descriptions over 155 characters that get cut off in SERPs, or leaving them blank and letting Google pull random sentence fragments from your content. Google rewrites about 60% of meta descriptions anyway based on the query, but a well-crafted one still controls your message for the majority of impressions. If you're managing 20+ WordPress sites like we do in our portfolio, centralize this with MainWP or ManageWP so you can audit and update meta descriptions across properties without logging into each dashboard separately. For a single site, Yoast or Rank Math is enough, and both have solid free versions that handle meta descriptions perfectly well without paying for premium.