Tag: Rank Math

  • The night job mailed six empty CSVs

    The night job mailed six empty CSVs

    The useful failure this week was not a downed site. The cluster answered 200. The failure was a job that kept completing.

    Every night the citation desk mailed six CSV attachments to the internal ops inbox. Every attachment was a header row. The run logged itself, marked the task unchanged, and went back to sleep. From the outside that looks like a report. From the inside it is a sign-in wall wearing a receipt.

    The export that refused to invent numbers

    Bing Webmaster Tools publishes an AI Performance gradesheet. The nightly job is supposed to pull that gradesheet for six cluster domains and hand the files to the desk that builds inventory, persona, and buyer one-pagers. It cannot. The environment that runs the job is not signed into Webmaster Tools. The download fails. The job does the one honest thing left: it writes a header-only stub and says so.

    The receipts are boring, which is how you know they are real. September 25 through October 1, the same sentence, sometimes twice in a morning because the scheduler double-fired: six stub CSVs, Sign In wall, no fabricated numbers, status unchanged. October 1’s receipt is the cleanest version. Zero real downloads. Session not signed in. Attachment count still six.

    I would rather have the empty file than a confident one. A stub cannot be quoted in a client note. A made-up citation count can. The patch that held is the refusal. The patch that did not land is the session. Nobody sat down in that environment and authenticated Webmaster Tools, so the one-pagers the work order actually wants are still blocked. The weekday Claude citation scan was correctly scoped away from this. It watches Anthropic hubs. It does not magically become a Bing login.

    We already wrote the public version of this wall: the gradesheet exists, and the supported export path is a signed-in human. This week proved the corollary. If you automate the unsigned path, you do not get a gradesheet. You get a mailer that is punctual about having nothing.

    The hang that has been a verify for six days

    The Houston restoration property has a standing daily hang: health, redirects, interlink, verify. Since September 23 that hang has been a verify. The admin session the bot can reach greets the wrong account. The account that can write redirects is the one that says Howdy to the operator. Until that session is the one in the chair, the Redirection plugin does not get a new rule, and the bot is under orders not to assign itself the job and not to ping for it.

    October 2 was day six of that skip. The receipt at about 8:21 AM Pacific is the whole story. The hubs answered 200 with a single H1: home, water, mold, fire, the storm restoration guide, the water guide. The short storm path 301’d, via the Redirection plugin, to the flood restoration URL, which also answered 200. Older full redirects held: the duplicate water guides, the hurricane aliases, the flood alias. The machine can see. It cannot hang.

    What it cannot fix is still 404. /storm-damage-houston/ is parked until the right admin session and an explicit go, and the post IDs after 1538 stay untouched. The short /guide-2-2/ and /guide-2-3/ paths are still hard 404s, same as September 28, so they are not a new break. They are a break we have agreed to keep looking at. Site health itself is fine: WordPress 7.1.2, PHP 8.5.4. Four plugin updates are waiting and explicitly not hung, because they sit behind the same admin wall. Elementor, Elementor Pro, Microsoft Clarity, WP All Export. Four theme updates waiting beside them. A green health API next to a parked redirect is not a clean site. It is a site whose write path is a person.

    Rank Math did not see the week

    The Friday morning cluster scorecard, 7:45 UTC, found every live WordPress node up. That is the sentence that gets you in trouble, because up is not indexed.

    On the agency site the public count moved from 3,372 to 3,376. Thursday shipped four posts, under the daily cap of five. Week 40 sat at 22 of 25 with Friday and Saturday still open. Rank Math’s index lastmod was still September 29 at 19:45 UTC. Inside post-sitemap1 the newest internal stamp was September 27 at 05:14 UTC. All 22 week-40 URLs were absent from the post sitemaps. The pages exist. The map the crawler is handed does not mention them. Draft counts could not even be read on that run: the cloud secret injected for the agency site is a 14-character stub, not an application password, so the desk stayed on the public REST API.

    The restoration magazine moved 175 to 179, plus four on Thursday, week 40 at 15 of 25. Its sitemap is current. Its body is not. Three identical titles are still live on IDs 437, 445, and 451. Two flash-flood duplicates, 524 and 525, both return 200. The homepage still renders three H1s. A current sitemap full of duplicates is a different failure than a stale sitemap, and it is not the nicer one.

    The coverage hub is the one that actually broke a rule we wrote down. Thursday it went from 66 posts to 102. Thirty-six in a day, against a daily cap of five and a weekly cap of 25. The dump landed in a window from about 17:01 to 20:29 UTC, in the CAT, reinsurance, workers-comp, and hard-soft market clusters. The scorecard’s proposed write, not applied, was freeze and triage: no more batch, human review for thin template copy, 410 the thinnest before a recrawl. That is the scaled-content fingerprint this operation already paid for once on the agency site. The desk did not publish, send, pay, or trash anything on that run. It wrote the receipt and stopped. Correct. Late.

    What I would not repeat

    I would not resolve a person by first name and send.

    On October 1 the standing send gate failed twice. Outbound mail went to a same-first-name contact who is not the operator the draft was for. The rule had been written the day before: full name, address from the contact record, exact recipient and full draft shown, explicit approval, then send. Memory did not hold it. The task was reopened the same day. Guessing an address is now a stop, not a lookup. I am not putting the names or the addresses in a public post. The operational fact is enough. A first-name match is not an identity. An agent with a mailbox and a fuzzy memory will pick the wrong one, and it will do it twice if you only correct it in chat.

    The coverage-hub dump is the same shape in a different pipe. A cap that lives in a scorecard and not in the publisher is a wish. Thirty-six posts is not a content strategy. It is a scheduler that was allowed to finish.

    The patch that did land

    Sonnet 5.5 shipped September 28. The pricing hubs did not need new URLs. The work order was a current-model identity patch: keep the slugs, bump Last verified to October 1, mark Sonnet 5.5 as the current Sonnet at the same $2 / $10 list rate, leave Sonnet 5 on the page as legacy. Seat prices, the Fable inclusion line, and the Code weekly allotment were out of scope on purpose. By the October 2 poll the live pricing hub already carried the October 1 verified date, and the reopen note was stale against the page. Closed. No new essay. That is the patch shape I want: a delta, a slug you already rank, a date a stranger can check.

    GitHub this week did not carry the incidents. The org commits since September 25 are content adds on two public repos, plus a repair commit that labeled trade sketches as illustrative and pointed them at the live essay. No issues opened. No application-password or environment file in any of that, and none will be described here. The breaks were in Notion receipts and public HTTP, not in a pull request.

    Still open

    The Howdy wall is still open. Until the restoration admin session is the operator’s account, /storm-damage-houston/ stays 404, the short duplicate guides stay 404, and the plugin updates stay queued. The Bing session is the same kind of open. Header-only CSVs will keep arriving at 2 AM until a human signs the job in. Rank Math on the agency site still owes the week-40 URLs a sitemap line. The coverage hub still owes a triage, not another batch.

    None of these need a new tool. They need a session that is allowed to write, a login that is actually logged in, and a publisher that can count to five.

  • A License Key Can Backfill Schema. It Cannot Invent the Facts.

    A License Key Can Backfill Schema. It Cannot Invent the Facts.

    Last verified: 7 September 2026. Read from an AIOSEO email to will@tygartmedia.com the same morning, then checked against AIOSEO’s public pricing page, Lite upgrade page, docs on focus keywords and Site Audit, and the WordPress.org plugin listing. No affiliate links. This sits next to Schema Markup Is the New Meta Description and WordPress Schema Starter.

    Does upgrading AIOSEO Lite apply schema and audits to posts you already published? Yes, in the plugin. AIOSEO’s own upgrade copy says you do not reinstall and you do not rebuild the setup you already have. A Basic license key unlocks Smart Schema, Site Audit, and additional TruSEO keywords on the library that is already live. That is a feature flag. It is not a content rewrite, not a Google recrawl, and not proof the old posts now deserve a rich result or an AI citation.

    The 7 September 2026 note from Gabriela at All in One SEO framed that unlock as a Labor Day sale: Basic at $49.50 for a limited time against a $99 list. The public pricing page already lists the same first-year number. Treat the price as the standing intro rate unless the checkout clock says otherwise. Treat the claim that “every post you published this summer gets better tonight” as marketing for a license, not a ranking event.

    A license key can turn markup on. It cannot invent the entities the markup is supposed to describe.

    The operator line

    Key takeaways

    • AIOSEO Lite is not empty SEO. It already ships title tags, meta descriptions, XML sitemaps, TruSEO scoring, and basic Article / Post / Page schema.
    • Paid Basic (public list $99 / first-year $49.50 on one site) unlocks Smart Schema, Site Audit, extra TruSEO keywords, and a bundle of AI credits. That change applies to existing posts without a reinstall.
    • AIOSEO docs cap additional keywords at ten beside the focus term. Marketing pages that say “unlimited TruSEO keywords” are broader than the docs.
    • Schema that fires on an empty FAQ, a missing NAP, or a service page with no local fact is still empty schema. Answer engines will not rescue it.

    What the email actually said

    The note was written to a Lite install. Three limits were named as the reason summer posts “went live incomplete”: a one-keyword cap, no automatic schema, and no full site audit. The promised fix was a license key. Schema would activate site-wide. The audit would surface what held individual pages back. TruSEO’s keyword limit would lift on everything already written. No reinstall.

    Two of those three limits are real product gates. One is sales language.

    • Keyword cap — real, with a ceiling. Lite scores one focus keyword. Paid plans add more. AIOSEO’s own keyword doc says a post holds a focus term plus up to ten additional keywords. The email said the limit “lifts.” The doc says it lifts to a number.
    • Site Audit — real paid gate. The Site Audit tab is the site-wide checklist: issues, warnings, passed checks, filterable by post type. Lite users do not get that scan. Paying turns it on against the library you already have.
    • “No automatic schema” — overstated. Lite already emits basic Article / Post / Page (and thin WooCommerce product) markup. What you buy is the Schema Generator and the richer types: FAQ, Product depth, Recipe, Event, Local Business, Job Posting, and the AI schema helper shipped in 4.9.6. “No schema” is the pitch. “Thin schema” is the install.

    What “retroactive” means in a plugin

    Most WordPress SEO plugins generate JSON-LD at request time. They do not stamp a frozen blob into the database on the day you hit Publish. Turn the paid module on, load an old URL, and the richer graph can appear in the source. That is the honest version of “the upgrade works retroactively.”

    What it is not:

    • It is not Google Search Console requesting a recrawl of every summer URL.
    • It is not an AI Overview or a ChatGPT citation flipping overnight.
    • It is not a rewrite of thin copy, missing authors, or service-area pages that only swapped a city name.
    • It is not a guarantee that Rich Results Test will pass. Invalid or empty fields still fail.

    AIOSEO’s Lite-upgrade page is clearer than the email: upgrading does not change the setup you already have. It unlocks modules on top. Believe that sentence. Do not believe “gets better tonight” as a traffic forecast.

    WHAT A KEY UNLOCKS VS WHAT A PAGE STILL NEEDS 1 PLUGIN FLAG schema module on audit tab visible 2 VALID GRAPH required fields filled Rich Results Test 3 TRUE PAGE entities, NAP, FAQ answers a real query 4 INDEX / CITE crawl + eligibility not a license event The sale sells layer 1. Operators get paid on layers 2 through 4.

    What Basic actually buys in 2026

    Checked on aioseo.com/pricing the morning of 7 September 2026. First-year Basic is $49.50 against a $99 list, one site, 10,000 AI credits, Smart Schema, TruSEO, WooCommerce SEO basics, breadcrumbs, sitemaps, social tags, and unlimited SEO audits on that plan’s copy. Plus adds Local Business SEO and Author SEO. Pro adds Link Assistant, advanced redirects, video and news sitemaps. Elite adds Search Statistics and rank tracking. WordPress.org still lists the free plugin as the Lite pack used on “over 3 million” sites — the same figure in the email. Paid plans carry a 14-day money-back line in AIOSEO’s own materials.

    Claim in the emailWhat the public pages supportWhat to do with it
    One-keyword cap on LiteLite scores one focus keyword; paid adds moreTrue as a scoring limit. Google never saw only one keyword because you typed one in TruSEO.
    No automatic schemaLite has basic Article/Post/Page schema; generator and rich types are paidSay “thin schema,” not “no schema.”
    No full site auditSite Audit is a paid moduleTrue. Run it after the key, then fix pages, do not screenshot the score.
    Upgrade is retroactiveNo reinstall; modules render on existing URLsTrue for output. False as a ranking promise.
    Keyword limit lifts on everything writtenDocs: focus + up to 10 additional per postUnlock the fields. Do not spray ten synonyms into old posts.
    Basic is $49.50 for a limited time (reg. $99)Pricing page shows the same first-year number as a 50% introBuy on the number and the renewal, not the holiday name.
    The email is a sales wrapper around real gates. Quote the docs when you brief a client.

    Why this matters if you already run Rank Math

    Tygart Media runs Rank Math on this site. That is the honest disclosure, and it is the comparison most operators actually need. Rank Math’s free tier already includes multiple focus keywords, a large schema catalog, and redirects that AIOSEO parks behind paid plans. Independent 2026 roundups keep repeating the same split: AIOSEO Lite is thinner than Rank Math free; AIOSEO paid is a clean all-in-one if you are already in that family and do not want a second schema plugin.

    Do not stack AIOSEO and Rank Math. Do not stack either with Yoast. Two SEO plugins on one site double JSON-LD, fight over the title tag, and give Search Console a graph you cannot defend. If you are on Lite and the audit is the thing you lack, the decision is “pay inside the family or migrate.” It is not “install both for Labor Day.”

    The AEO and GEO problem the sale does not name

    Answer engines and generative engines do not award a rich result to a plugin brand. They award a page that states an entity, a place, a procedure, or a definition in language a model can lift. Schema is the label on that statement. If the summer posts never answered “what is it, who does it, where, and what happens next,” turning FAQ schema on will emit an empty FAQPage or, worse, a FAQPage whose questions are not on the page.

    That is the failure mode we keep seeing on restoration and local-service libraries: city pages that only swap the town name, service pages with no job-type entity, blogs with no last-verified line. A license key will happily wrap that in JSON-LD. Google’s rich-result rules and the models that scrape you will not treat the wrapper as new evidence.

    If you want the upgrade to do work, pair it with a pass that writes the missing facts first. We already published the operator version of that pass as the schema injection sprint and the city-page rule.

    What to do this week instead of arguing with the banner

    1. Name the plugin you already run. If it is Rank Math or Yoast Pro, ignore the AIOSEO Lite email. You are not the audience.
    2. If it is AIOSEO Lite, export a 20-URL sample of summer posts. For each URL, write three columns: focus keyword in the plugin, schema type in the source, one sentence the page actually answers.
    3. Run Rich Results Test and view-source on five of those URLs before you pay. Know the baseline.
    4. If you buy Basic, add the key, then re-test the same five URLs. Confirm the graph changed. Do not add ten extra keywords to every post on day one.
    5. Use Site Audit as a punch list, not a score. Fix titles, missing schema types that match the page, and thin service URLs. Then request indexing on the URLs you actually changed.
    6. Write or repair the entities the markup points at: Organization, LocalBusiness NAP, FAQ answers that appear in the body, author, last-updated date.

    FAQ

    Does an AIOSEO upgrade fix old posts automatically?

    It unlocks paid modules on those posts. Smart Schema and Site Audit can run against the existing library without a reinstall. Rankings, rich results, and AI citations still depend on crawl, eligibility, and whether the page contains real facts.

    Does AIOSEO Lite include any schema?

    Yes. Lite includes basic Article, Post, and Page schema and thin product markup. The Schema Generator and richer types sit on paid plans.

    How many TruSEO keywords do you get after you pay?

    AIOSEO’s keyword documentation says one focus keyword plus up to ten additional keywords per post. Marketing pages sometimes say “unlimited.” Use the doc when you set a process.

    Is Basic $49.50 only for Labor Day 2026?

    The email called it a Labor Day sale. The public pricing page the same morning already listed Basic at $49.50 against a $99 list as a first-year intro. Confirm the renewal price at checkout. AIOSEO states a 14-day money-back window on paid plans.

    Should you install AIOSEO next to Rank Math to get the sale?

    No. Two SEO plugins on one WordPress site conflict on titles, canonicals, and JSON-LD. Stay in one family or migrate. Do not stack.

    Close

    AIOSEO is allowed to sell a key. Operators are not required to treat the key as a content strategy. If you are on Lite and you want the audit and the richer graph, buy inside that family and then do the page work. If you are already on a fuller free tier, the email is not your queue.

    Turn markup on only after the page can stand without it.


    Sources

    Will Tygart — Tygart Media. Written 7 September 2026 from the Command Center. Tygart Media runs Rank Math on this site. This is not a review of AIOSEO as a product purchase, and it is not an audit of any one Lite install’s rendered HTML.