| A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Issue Title | Category | Severity | Affected URL(s) | Root Cause | Recommendation | Estimated Effort | Expected Impact | ||||||||||||||||||
2 | Fitness-app template content live on pricing page | On-Page SEO | High | /plans/ | Page was never migrated from the old Astra/Elementor default template; Lorem Ipsum and fitness-app demo content left in place | Rebuild the page from scratch using real pricing (Free vs. $10/month Unlimited) and the site's current design template; add to nav/footer once live | Medium | Removes the single biggest trust/conversion risk on the site | ||||||||||||||||||
3 | Duplicate homepage URL indexed | Technical SEO | High | / and /home/ | /home/ variant is included in the XML sitemap, self-canonicalizes, and is indexed by Google alongside the real homepage | 301 redirect /home/ to /, point canonical to root, remove /home/ from sitemap | Low | Consolidates ranking signals, removes duplicate content and index bloat | ||||||||||||||||||
4 | Article schema misapplied to non-article pages along with webpage | On-Page SEO | High | Homepage, /features/, /plans/ | Rank Math's global/default schema setting types these pages as Article (headline, author, datePublished) | Change schema type from Article to WebPage in Rank Math for each affected page | Low | Fixes page classification, restores correct Rich Results eligibility | ||||||||||||||||||
5 | Organization entity malformed in schema | On-Page SEO | High | Site-wide except a few blog article pages | Organization schema types the company as ["Person","Organization"] or "Person" only instead of "Organization" | Correct @type to "Organization" only across all templates | Low | Fixes entity validation, reduces Rich Results Test warnings site-wide | ||||||||||||||||||
6 | Title tag and H1 mismatch on blog post | On-Page SEO | High | /blog-grammar-errors-you-make-when-writing-fast/ | Title/OG/Twitter metadata was updated without updating the on-page H1 | Align <title>, OG/Twitter titles, and H1 to a single consistent headline | Low | Prevents Google from rewriting the SERP title away from the intended one | ||||||||||||||||||
7 | Duplicate blog article published under two URLs | Content | High | /write-smarter-not-harder-ai-tools/, /how-to-write-smarter-not-harder-ai-tools-that-save-you-hours/ | Article republished under a new URL with an updated year; old URL never redirected | 301 redirect the older URL to the maintained version, update internal links, retire the duplicate | Low | Consolidates ranking signal onto a single authoritative URL | ||||||||||||||||||
8 | Cannibalizing articles on writing tone | Content | High | /mastering-tone-in-professional-writing/, /master-your-writing-tone/ | Two articles independently created to target the same search intent around professional writing tone | Consolidate into /master-your-writing-tone/ (merge unique insights), 301 redirect the other, update internal links | Medium | Removes internal competition, strengthens topical authority for tone-related queries | ||||||||||||||||||
9 | Fragmented content cluster on grammar improvement | Content | High | /how-to-improve-your-writing-with-an-online-grammar-checker/, /improve-grammar-with-tools-and-exercises/, /grammar-tools-enhance-personal-writing-style/ | Articles published independently over time without a defined pillar-cluster hierarchy | Designate the first article as the pillar page; restructure the other two as supporting pages with strong contextual internal linking | Medium | Builds topical authority instead of splitting ranking signal across three pages | ||||||||||||||||||
10 | Poor mobile Largest Contentful Paint | UX / Core Web Vitals | High | Homepage (mobile) | Render-blocking CSS and late hero content rendering (1.3s element render delay) | Inline critical CSS, defer non-critical CSS, preload critical fonts and hero assets | Medium | Improves LCP from 4.6s toward the <2.5s target, reducing mobile abandonment | ||||||||||||||||||
11 | Excessive render-blocking CSS | UX / Core Web Vitals | High | Site-wide | Many small CSS files (Astra, Elementor, Autoptimize, MediaElement, Widget CSS) loaded synchronously | Consolidate CSS where possible, generate critical CSS, load widget CSS only on pages that use it | Medium | ~1.87s potential load-time savings per Lighthouse | ||||||||||||||||||
12 | Overly Long Title Tags | On-Page SEO | High | Multiple blog posts | Several blog posts use descriptive titles that exceed Google's recommended display length | Rewrite title tags to approximately 50–60 characters while preserving the primary keyword and search intent. | Low | Improves SERP readability and click-through rate (CTR) by ensuring titles are fully visible | ||||||||||||||||||
13 | Very low Domain Rating despite broad backlink coverage | Off-Page | Medium | Site-wide | Backlink profile is dominated by AI tool directories/listings rather than editorial sources | Prioritize editorial backlinks from education sites, EdTech publications, writing blogs, and AI newsletters | High | Raises competitive ranking power against Grammarly/QuillBot/LanguageTool over time | ||||||||||||||||||
14 | Broken or incomplete informational page templates | Technical SEO | Medium | /contact-us/, /careers/, /about-us/ | Templates were not properly migrated or have a rendering issue | Fix rendering issues, validate templates, redirect or remove if unnecessary | Medium | Improves user experience and page quality signals | ||||||||||||||||||
15 | Marketing site and tool platform split across two hosts | Technical SEO | Medium | igrammar.app, check.igrammar.app | Intentional architectural choice to separate marketing site from the tool | Strengthen internal linking and coordinate SEO management between both hosts | Medium | Better distributes authority and guides users through the product journey | ||||||||||||||||||
16 | Legacy /blog/ URL redirects to a single article | Technical SEO | Medium | /blog/ | Redirect misconfigured to point at one post instead of the blog archive | Update the redirect so /blog/ points to /blogs/ | Low | Restores correct destination for users and passes authority to the blog hub | ||||||||||||||||||
17 | High-value pages orphaned from navigation | On-Page SEO | Medium | /plans/, /contact-us/, /careers/ | Primary nav and footer do not link to these pages | Add /plans/, /contact-us/, and /careers/ to the primary nav or footer | Low | Restores internal link equity and discoverability, especially for the commercial /plans/ page | ||||||||||||||||||
18 | Duplicate/overlapping pricing content | On-Page SEO | Medium | /features/, /plans/ | Both pages independently display full pricing details | Choose one page as the single source of truth for pricing; link the other to it via CTA | Medium | Prevents Google from splitting relevance between two pricing-intent pages | ||||||||||||||||||
19 | Person schema mistyped on blog hub | On-Page SEO | Medium | /blogs/ | Rank Math schema config types the company entity as "Person" only | Change @type to "Organization" | Low | Consistent, correct entity data for search engines | ||||||||||||||||||
20 | Inconsistent/incomplete blog post categorization | Content | Medium | /blogs/ and child posts | Several posts are tagged "Uncategorized" alongside or instead of a real category | Audit all post category assignments in WordPress; ensure none sit only in "Uncategorized" | Medium | Strengthens topical clustering signal and fixes the category-filter UX | ||||||||||||||||||
21 | Missing FAQPage schema on qualifying blog content | On-Page SEO | Medium | /blog-grammar-errors-you-make-when-writing-fast/ (pattern likely repeats across similar posts) | FAQ content exists on the page but was never wrapped in FAQPage JSON-LD | Add FAQPage schema around existing Q&A blocks | Low | Quick win for FAQ rich-result / AI Overview eligibility | ||||||||||||||||||
22 | Weak author E-E-A-T on blog content | On-Page SEO | Medium | Blog posts (site-wide) | Generic byline handle, default avatar, no bio or credentials | Add a short author bio and a consistent, credentialed editorial persona | Medium | Strengthens trust and expertise signals for how-to/advice content | ||||||||||||||||||
23 | Messy heading hierarchy on blog content | On-Page SEO | Medium | /blog-grammar-errors-you-make-when-writing-fast/ | Sub-points marked as H2 instead of nested H3s under their parent section | Restructure headings into a consistent H2/H3 pattern | Low | Improves how crawlers and AI answer engines parse sub-topic structure | ||||||||||||||||||
24 | Cannibalizing articles on real-time grammar correction | Content | Medium | /real-time-grammar-correction-guide/, /importance-of-real-time-grammar-correction-for-flawless-writing/ | Both articles target the same core search intent with the same CTA | Differentiate intent: position one as a technical "how it works" guide and the other as a "why it matters" guide; cross-link both | Medium | Reduces cannibalization while preserving both pages as complementary content | ||||||||||||||||||
25 | Directory-heavy backlink profile | Off-Page | Medium | Site-wide | Existing backlinks concentrated in AI tool directories and listing platforms | Diversify through guest articles, original research, case studies, and digital PR | Medium | Improves backlink quality and long-term SEO value beyond raw volume | ||||||||||||||||||
26 | Limited community presence and discussion | Off-Page | Medium | Site-wide / brand | No meaningful iGrammar-specific discussion found on Reddit or similar communities | Participate in relevant writing communities, answer grammar-related questions, publish educational content | Medium | Builds brand awareness, natural backlinks, and trust signals | ||||||||||||||||||
27 | Image assets not optimized for display size | UX / Core Web Vitals | Medium | Site-wide | Images (logo, avatars, review images) served larger than their rendered dimensions despite ShortPixel use | Generate responsive image variants (srcset/sizes), serve images closer to display dimensions | Low | ~358 KB estimated savings, faster mobile rendering | ||||||||||||||||||
28 | Unaudited third-party script overhead | UX / Core Web Vitals | Medium | Site-wide | GTM, Google Analytics, Microsoft Clarity, and WP Stats compete for resources during page load | Audit the GTM container, remove unused tags, delay non-essential analytics until after load/interaction | Medium | Reduces main-thread blocking and unused JavaScript (67 KB) | ||||||||||||||||||
29 | Meta description exceeds safe length | On-Page SEO | Low | Homepage | Meta description is ~165 characters, over the ~155-160 char safe zone | Trim to ~150 characters, front-loading the strongest hook | Low | Prevents Google from truncating the description in search results | ||||||||||||||||||
30 | H1 does not contain primary target keyword | On-Page SEO | Low | Homepage, /features/ | H1 copy prioritizes branding/tagline over the targeted keyword | Rework H1 to naturally include the primary keyword | Low | Small but free improvement to on-page relevance signal | ||||||||||||||||||
31 | Incomplete breadcrumb schema (single node) | On-Page SEO | Low | Homepage, /blogs/, blog posts | Breadcrumb JSON-LD only includes a "Home" node instead of the full trail | Expand breadcrumb schema to include the full path (e.g. Home > Blog > Post) or remove it where not meaningful | Low | Minor SEO impact; signals a more complete, less copy-pasted schema setup | ||||||||||||||||||
32 | No visible breadcrumb UI for users | Technical SEO | Low | Site-wide | Breadcrumb structured data exists for search engines but isn't rendered visibly on-page | Add a visible breadcrumb UI to match the existing schema | Low | Improves user navigation and internal linking | ||||||||||||||||||
33 | Broken footer link on pricing page | On-Page SEO | Low | /plans/ | Footer "News & Press" link points to /blog/ instead of the real /blogs/ URL | Fix the footer link to point to /blogs/ | Low | Removes a dead-link/404 risk | ||||||||||||||||||
34 | Inconsistent blog post URL slug convention | Technical SEO | Low | Multiple blog posts | Some post slugs carry a "blog-" prefix while most don't, from inconsistent publishing practice | Standardize the slug convention going forward; evaluate 301-redirecting older prefixed URLs carefully | Medium | Improves consistency; low direct ranking impact | ||||||||||||||||||
35 | ImageObject schema dimension mismatch | On-Page SEO | Low | /blog-grammar-errors-you-make-when-writing-fast/ | JSON-LD hardcodes 200x200 while the actual served image is 1586x992 | Correct the ImageObject width/height values to match the served image | Low | Prevents Rich Results Test structured-data warnings | ||||||||||||||||||
36 | Non-descriptive image filenames | On-Page SEO | Low | Blog posts | Images retain default AI-tool-generated filenames instead of descriptive, keyword-relevant ones | Rename image files descriptively before upload going forward | Low | Minor image-SEO opportunity | ||||||||||||||||||
37 | FAQ content overlap between homepage and Features | On-Page SEO | Low | Homepage, /features/ | Both pages carry FAQPage schema with similar Q&A themes | Differentiate FAQ sets: keep homepage FAQs brand/trust-focused, Features FAQs feature-specific | Low | Reduces redundant weight, expands topical coverage instead of duplicating it | ||||||||||||||||||
38 | Weak differentiation between student essay/exam guides | Content | Low | /10-common-grammar-mistakes-students-make-in-essays/, /common-grammar-mistakes-students-make-in-exams/ | The essay-vs-exam distinction is under-communicated in titles and positioning | Sharpen each page's focus (academic writing vs. timed-exam writing) and cross-link as related resources | Low | Improves topical clarity without needing to merge the pages | ||||||||||||||||||
39 | Unused CSS and elevated DOM size | UX / Core Web Vitals | Low | Site-wide | Theme/plugin assets loaded globally rather than conditionally; DOM size of 562 elements | Remove unused CSS, conditionally enqueue plugin assets, review DOM complexity over time | Low | Minor incremental performance gains | ||||||||||||||||||
40 | Missing LinkedIn presence | Off-Page | Low | Site-wide / brand | No LinkedIn company page linked from the site despite Instagram/Facebook/X presence | Create a LinkedIn page and use it to amplify blog content alongside other channels | Low | Expands distribution and backlink opportunity through an additional channel | ||||||||||||||||||
41 | ||||||||||||||||||||||||||
42 | ||||||||||||||||||||||||||
43 | ||||||||||||||||||||||||||
44 | ||||||||||||||||||||||||||
45 | ||||||||||||||||||||||||||
46 | ||||||||||||||||||||||||||
47 | ||||||||||||||||||||||||||
48 | ||||||||||||||||||||||||||
49 | ||||||||||||||||||||||||||
50 | ||||||||||||||||||||||||||
51 | ||||||||||||||||||||||||||
52 | ||||||||||||||||||||||||||
53 | ||||||||||||||||||||||||||
54 | ||||||||||||||||||||||||||
55 | ||||||||||||||||||||||||||
56 | ||||||||||||||||||||||||||
57 | ||||||||||||||||||||||||||
58 | ||||||||||||||||||||||||||
59 | ||||||||||||||||||||||||||
60 | ||||||||||||||||||||||||||
61 | ||||||||||||||||||||||||||
62 | ||||||||||||||||||||||||||
63 | ||||||||||||||||||||||||||
64 | ||||||||||||||||||||||||||
65 | ||||||||||||||||||||||||||
66 | ||||||||||||||||||||||||||
67 | ||||||||||||||||||||||||||
68 | ||||||||||||||||||||||||||
69 | ||||||||||||||||||||||||||
70 | ||||||||||||||||||||||||||
71 | ||||||||||||||||||||||||||
72 | ||||||||||||||||||||||||||
73 | ||||||||||||||||||||||||||
74 | ||||||||||||||||||||||||||
75 | ||||||||||||||||||||||||||
76 | ||||||||||||||||||||||||||
77 | ||||||||||||||||||||||||||
78 | ||||||||||||||||||||||||||
79 | ||||||||||||||||||||||||||
80 | ||||||||||||||||||||||||||
81 | ||||||||||||||||||||||||||
82 | ||||||||||||||||||||||||||
83 | ||||||||||||||||||||||||||
84 | ||||||||||||||||||||||||||
85 | ||||||||||||||||||||||||||
86 | ||||||||||||||||||||||||||
87 | ||||||||||||||||||||||||||
88 | ||||||||||||||||||||||||||
89 | ||||||||||||||||||||||||||
90 | ||||||||||||||||||||||||||
91 | ||||||||||||||||||||||||||
92 | ||||||||||||||||||||||||||
93 | ||||||||||||||||||||||||||
94 | ||||||||||||||||||||||||||
95 | ||||||||||||||||||||||||||
96 | ||||||||||||||||||||||||||
97 | ||||||||||||||||||||||||||
98 | ||||||||||||||||||||||||||
99 | ||||||||||||||||||||||||||
100 |