SEO issues
Every SEO issue, and the fix
Each check in the free SEO audit, explained: what triggers it, how much it really matters, and how to fix it in WordPress.
On-page 11
- Few internal links: how to add useful links without overdoing itThe page has only one or two unique links to URLs on its own hostname.
- Skipped heading levels: fixing a page with H3s but no H2The page contains H3 or H4 headings but no H2 headings at all.
- Meta description too long: how to trim it so the point survivesThe page's meta description is longer than 160 characters.
- Meta description too short: when to expand it and what to addThe page has a meta description, but it is shorter than 120 characters.
- Missing H1 tag: why pages lose their main heading and how to fix itThe page's HTML contains no <h1> element.
- Missing meta description: what it costs and how to fix itThe page has no <meta name="description"> tag, or the tag's content is empty.
- Missing title tag: why it matters and how to fix it in WordPressThe page has no <title> element, or the <title> element is empty.
- Multiple H1 tags on one page: does it matter and how to fix itThe page's HTML contains more than one <h1> element.
- No internal links found: why the audit sees none and how to fix itThe page contains no links to URLs on the same hostname as the page itself.
- Title tag too long: how to shorten it without losing the pointThe page's <title> is longer than 60 characters.
- Title tag too short: when it matters and how to write a better oneThe page's <title> is present but shorter than 30 characters.
Content 2
Technical 10
- Broken links: how to find and fix them on a WordPress siteA link on your site points to a URL on your own site that returns a 404 Not Found error.
- Missing character encoding: stop garbled text with one meta tagThe page declares no character encoding in a <meta charset> tag or a <meta http-equiv="Content-Type"> tag.
- Missing DOCTYPE declaration: what quirks mode does and how to fix itThe page's HTML contains no <!DOCTYPE> declaration.
- Missing favicon: how to add a site icon in WordPressThe page's HTML has no <link rel="icon">, <link rel="shortcut icon"> or <link rel="apple-touch-icon"> tag.
- Missing viewport meta tag: why your page looks tiny on phonesThe page has no <meta name="viewport"> tag, or its content is empty.
- No HTTPS detected: how to move a WordPress site to HTTPS safelyThe audited page URL uses http:// instead of https://.
- Non-UTF-8 character encoding: when to switch and how to do it safelyThe page declares a character encoding, but it is something other than utf-8, such as ISO-8859-1 or Windows-1252.
- Too many URL parameters: when query strings cause SEO problemsThe page's URL (on any page other than the homepage) has a query string longer than 20 characters.
- Underscores in URLs: how much they matter and when to change themThe page's URL path (on any page other than the homepage) contains an underscore.
- URL lacks descriptive words: when a numeric URL is worth changingThe page's URL path, on any page other than the homepage, contains no run of three or more letters.
Crawling & indexing 4
- Missing canonical tag: when it matters and how to add oneThe page has no <link rel="canonical"> tag, or its href is empty.
- No robots.txt found: why WordPress may not be serving one and how to fix itRequesting /robots.txt on the site's domain does not return a 200 response.
- No XML sitemap found: how to create one in WordPress and get it foundNo valid XML sitemap was found at the URLs listed in robots.txt or at /sitemap.xml, /sitemap_index.xml or /wp-sitemap.xml.
- Page set to noindex: how to find the setting and get indexed againThe page's <meta name="robots"> tag contains noindex.
Structured data 2
- Invalid structured data: fixing JSON-LD missing @context or @typeThe page has JSON-LD, but at least one block is missing a top-level @context or @type property.
- No structured data on the page: how to add schema markup in WordPressThe page has no JSON-LD structured data block (a <script type="application/ld+json"> element).
Performance 3
- No lazy loading detected: how to lazy-load images without hurting LCPThe page has more than five images and none of them has a loading="lazy" attribute.
- HTML page size too large: finding what bloats your WordPress markupThe page's HTML is larger than 3,000 KB; over 2,000 KB is reported as an optimization and over 5,000 KB as critical.
- Slow server response time: finding what makes WordPress slow to respondThe page took more than 3 seconds to respond when the audit fetched it; 1 to 3 seconds is reported as an optimization.
Social 3
- Missing Open Graph tags: fixing blank or broken share previewsThe page is missing one or more of og:title, og:description and og:image.
- Missing social share image: making sure every shared link has a pictureThe page has neither an og:image nor a twitter:image tag; an og:image value shorter than 20 characters is reported as a warning.
- Missing X (Twitter) card tags: getting large image cards on XThe page has no <meta name="twitter:card"> tag.
Accessibility 2
- Images missing alt text: how to find and fix them in WordPressOne or more <img> elements have no alt attribute or an empty one; it becomes critical when more than half of the page's images are affected.
- Missing lang attribute on the HTML tag: why it matters and how to fix itThe page's <html> element has no lang attribute, or it is empty.