ThatAIguyA world of ideas

THE CONSCIOUSNESS ATLAS
Read. Experiment. Follow the evidence.

ConsciousnessLearn · Explore · Joseph Anady

Janady13/crawler-signal-reference / framework-html-meta-author.md · Lines 1501–1920

Source identity, revision, and recovered contents.

GitHub sourceSource text recovered

A continuation of Janady13/crawler-signal-reference / framework-html-meta-author.md. The complete source identity, every recorded occurrence, and linked equations are on its first page.

Source transcript · continued

Download complete source text ↓1,920 lines · 68.4 KB
4. [ ] No conflicting `<meta name="author">` tags on a single page (typically one per page). ### Editorial content 5. [ ] Blog posts attributed to individual person. 6. [ ] Case studies attributed to individual person. 7. [ ] Tutorials attributed to individual person. 8. [ ] News articles attributed to individual person. ### Marketing content 9. [ ] Service pages attributed to organization (or no author). 10. [ ] Pricing pages attributed to organization. 11. [ ] Contact pages attributed to organization or omitted. 12. [ ] Landing pages attributed to organization. ### YMYL content (mental health, financial, legal) 13. [ ] YMYL pages attributed to credentialed individuals. 14. [ ] Credentials accurately represented (not overstated). 15. [ ] **Handled Tax content uses PTIN credentialed terminology, NEVER CPA or EA.** 16. [ ] Counseling content includes therapist license info. ### Schema.org alignment 17. [ ] Schema.org Article.author or BlogPosting.author matches meta author. 18. [ ] Schema.org includes Person.url where appropriate. 19. [ ] Schema.org includes Person.jobTitle for editorial bylines. 20. [ ] Schema.org includes EducationalOccupationalCredential for YMYL. 21. [ ] Schema.org includes Organization.publisher. ### Visible byline alignment 22. [ ] Visible byline present on editorial content. 23. [ ] Byline text matches meta author and Schema.org author. 24. [ ] Byline includes link to author page. 25. [ ] Byline shows credentials for YMYL content. ### Open Graph alignment 26. [ ] og:type set to "article" for editorial content. 27. [ ] article:author set with author page URL. 28. [ ] article:published_time set with ISO 8601 date. ### Twitter Card alignment 29. [ ] twitter:creator set to author's Twitter/X handle. 30. [ ] twitter:site set to organization's Twitter/X handle. ### Wikidata verification 31. [ ] Where author has Wikidata entry, Schema.org sameAs includes Wikidata URL. 32. [ ] Joseph Anady attribution includes sameAs to Q138610626 where appropriate. 33. [ ] sameAs URLs are valid and verifiable. ### Privacy and safety 34. [ ] No employee attribution without consent. 35. [ ] No personal info beyond what author approved. 36. [ ] Pseudonym option offered to contributors when appropriate. ### Consistency across the site 37. [ ] Author name consistent across all attributed pages (no "Joseph" vs "Joseph Anady" vs "Joseph W. Anady" fragments). 38. [ ] Author URL points to a real about page. 39. [ ] About page has substantive author bio. ### Cross cutting 40. [ ] `meta charset="utf-8"` precedes meta author (per framework-html-meta-charset.md). 41. [ ] Author attribution doesn't appear on noindex pages (unnecessary). ### Multiple authors 42. [ ] Multi author content uses Schema.org array. 43. [ ] Multi author content lists primary author first in array. 44. [ ] Multiple `<meta name="author">` tags avoided where possible. ### Tooling and process 45. [ ] AUTHORS registry maintained per client site. 46. [ ] Template macro emits aligned author signals across all layers. 47. [ ] Pre deploy alignment check runs. 48. [ ] `author-audit.sh` script in `/usr/local/bin/`. ### Documentation 49. [ ] Author strategy documented per client. 50. [ ] Privacy considerations documented. A site that passes all 50 has correctly configured author attribution for E-E-A-T signals, social media link previews, and editorial credibility. --- ## 17. COMMON PITFALLS Fifteen patterns to recognize and avoid. **Pitfall 1: Marketing pages with personal author attribution.** Symptom: every page on the site attributes to "Joseph Anady" including service pages and pricing. Why it breaks: dilutes the editorial vs marketing signal; less effective. Fix: organization attribution for marketing content; individual attribution only for editorial. **Pitfall 2: Credentialed overstatement on YMYL content.** Symptom: tax preparer described as "CPA" or "Enrolled Agent" without actually being credentialed. Why it breaks: SDVOSB protective concern; legal risk; FTC compliance. Fix: use accurate credentials only. PTIN ≠ CPA/EA. Use the exact credential terminology. **Pitfall 3: Conflicting author signals across layers.** Symptom: meta author says "Joseph", Schema.org says "Joseph Anady", byline says "J. Anady". Why it breaks: fragmented author identity; Google confidence drops. Fix: pick one canonical name; use it everywhere. **Pitfall 4: Missing author on editorial content.** Symptom: blog posts have no author attribution anywhere. Why it breaks: weak E-E-A-T signal; lower content quality assessment. Fix: add meta author, Schema.org author, and visible byline. **Pitfall 5: Schema.org author without supporting layers.** Symptom: rich Schema.org Person but no meta author tag or visible byline. Why it breaks: missed reinforcement; less robust signal. Fix: add meta author and visible byline. **Pitfall 6: Author tag on noindex pages.** Symptom: login page has `<meta name="author" content="Editorial Team">`. Why it breaks: wasted metadata; noindex page won't be displayed in search. Fix: omit author on noindex pages. **Pitfall 7: Author URL pointing to homepage.** Symptom: author Person.url is "https://thatdeveloperguy.com/" not "/about/". Why it breaks: homepage is not a specific author page; weak identity signal. Fix: link to a dedicated author/about page. **Pitfall 8: No about page for attributed author.** Symptom: author attribution exists but no /about/ page describes the author. Why it breaks: incomplete identity signal; users can't verify the author. Fix: build a substantive about page including bio, credentials, contact. **Pitfall 9: Pseudonym attribution on YMYL content.** Symptom: medical advice attributed to "Editorial Team". Why it breaks: weak E-E-A-T for YMYL; rankings suffer. Fix: real, credentialed author for YMYL content. **Pitfall 10: Including author identity without consent.** Symptom: employee's real name attributed to a controversial article they wrote on behalf of the company. Why it breaks: privacy violation; potential harm to author. Fix: get explicit consent; offer pseudonym option. **Pitfall 11: Multiple competing meta author tags.** Symptom: page has both `<meta name="author" content="A">` and `<meta name="author" content="B">`. Why it breaks: behavior is inconsistent across consumers. Fix: single meta author tag; use Schema.org array for multiple authors. **Pitfall 12: Schema.org author as a string instead of Person object.** Symptom: `"author": "Joseph Anady"` instead of `"author": {"@type": "Person", "name": "Joseph Anady"}`. Why it breaks: less structured information; can't add credentials, sameAs, etc. Fix: use the full Person object syntax. **Pitfall 13: Inconsistent author across the same client's pages.** Symptom: blog post 1 attributed to "Jane Doe", blog post 2 to "J. Doe", blog post 3 to "Jane". Why it breaks: search engines can't aggregate author authority. Fix: standardize the canonical name; use it on every page. **Pitfall 14: Privacy violation via Schema.org sameAs.** Symptom: author's personal Facebook, Instagram, Twitter all linked via sameAs. Why it breaks: more personal info exposed than necessary. Fix: only include public, verifiable, professional identity links (Wikidata, LinkedIn, professional site). **Pitfall 15: Federal subcontract page attributed to staff but credentials misrepresented.** Symptom: page attributes to "Engineer" without engineering credential, or "Project Manager" with overstated role. Why it breaks: federal compliance concern; potential audit issue. Fix: accurate role and credential attribution. --- ## 18. DIAGNOSTIC COMMANDS Reference of commands useful for author attribution investigation. ### Inspect a single URL ```bash # Extract meta author curl -s https://example.com/article/ | grep -oE 'meta name="author"[^>]+' | head -1 # Extract Schema.org author (requires parsing JSON-LD) curl -s https://example.com/article/ | python3 -c " import sys, json, re text = sys.stdin.read() for match in re.findall(r'<script type=\"application/ld\+json\">(.*?)</script>', text, re.DOTALL): try: data = json.loads(match) if isinstance(data, dict) and 'author' in data: print(json.dumps(data['author'], indent=2)) except: pass " # Extract visible byline curl -s https://example.com/article/ | grep -oE 'class="byline"[^<]*<[^>]+>[^<]+' ``` ### Check alignment ```bash URL=$1 author-alignment-check.sh "$URL" ``` ### Bulk audit ```bash # Audit all editorial URLs (assumes /blog/ contains editorial content) for url in $(curl -s https://example.com/sitemap.xml | grep -oE "<loc>[^<]+</loc>" | sed 's/<[^>]*>//g' | grep "/blog/"); do META=$(curl -s "$url" 2>/dev/null | grep -oE 'meta name="author"[^>]+' | head -1 | sed 's/.*content="\([^"]*\)".*/\1/') echo "$url -> $META" done ``` ### Find missing author on editorial pages ```bash # Pages in /blog/ that lack meta author for url in $(curl -s https://example.com/sitemap.xml | grep -oE "<loc>[^<]+</loc>" | sed 's/<[^>]*>//g' | grep "/blog/"); do HAS=$(curl -s "$url" 2>/dev/null | grep -c 'meta name="author"') if [ "$HAS" = "0" ]; then echo "MISSING AUTHOR: $url" fi done ``` ### Verify Wikidata sameAs ```bash # For Joseph's content, verify Wikidata link is present URL=$1 HAS_WIKIDATA=$(curl -s "$URL" | grep -c "wikidata.org/wiki/Q138610626") [ "$HAS_WIKIDATA" -gt 0 ] && echo "OK: Wikidata sameAs present" || echo "MISSING: Wikidata sameAs" ``` ### Find inconsistent author names ```bash # Look for name variations on a client's editorial content curl -s https://example.com/sitemap.xml | grep -oE "<loc>[^<]+</loc>" | sed 's/<[^>]*>//g' | grep "/blog/" | while read url; do META=$(curl -s "$url" 2>/dev/null | grep -oE 'meta name="author"[^>]+' | head -1 | sed 's/.*content="\([^"]*\)".*/\1/') echo "$META" done | sort | uniq -c | sort -rn # Should show one author with consistent count, not multiple variations ``` ### Check credential mentions for YMYL clients (Handled Tax guardrail) ```bash # For Handled Tax site: ensure CPA/EA never appears in attribution URL=https://handledtax.com for u in $(curl -s "$URL/sitemap.xml" | grep -oE "<loc>[^<]+</loc>" | sed 's/<[^>]*>//g'); do HAS_CPA=$(curl -s "$u" 2>/dev/null | grep -c -iE "amanda.*(cpa|enrolled.*agent|ea\b)") if [ "$HAS_CPA" -gt 0 ]; then echo "VIOLATION: $u contains credential overstatement" fi done ``` ### Browser verification In Chrome DevTools: 1. Open editorial page. 2. View page source (Cmd/Ctrl + U). 3. Find `<meta name="author">`. 4. Find Schema.org `<script type="application/ld+json">`. 5. Find visible byline element. 6. Confirm all three say the same author. Use Google's Rich Results Test: - https://search.google.com/test/rich-results - Paste URL. - Verify Schema.org author parses correctly. ### After template changes ```bash # Restart FastAPI sidecar systemctl restart fastapi-sidecar # Verify on sample page author-alignment-check.sh https://example.com/blog/sample-post/ # Run audit author-audit.sh https://example.com/ ``` --- ## 19. CROSS-REFERENCES * [framework-html-meta-description.md](framework-html-meta-description.md): meta description and meta author both belong in `<head>`; align them with the same editorial voice. * [framework-html-meta-charset.md](framework-html-meta-charset.md): author names with international characters require UTF-8 (e.g., Dr. Kristy Burton works fine; Marshallese authors with diacritics need full UTF-8 chain). * [framework-html-meta-robots.md](framework-html-meta-robots.md): author attribution unnecessary on noindex pages. * [framework-html-meta-keywords.md](framework-html-meta-keywords.md): like keywords, author is exposed in page source; privacy considerations apply. * [framework-http-seo-headers.md](framework-http-seo-headers.md): no author HTTP header exists; meta tag is the only HTML mechanism. * [UNIVERSAL-RANKING-FRAMEWORK.md](UNIVERSAL-RANKING-FRAMEWORK.md): the master ranking reference. E-E-A-T is the framework where author signals matter most. * [SEO-BUILD-REFERENCE.md](SEO-BUILD-REFERENCE.md) v2.4: the build playbook including author strategy per client. * Google's E-E-A-T documentation: https://developers.google.com/search/docs/fundamentals/creating-helpful-content * Google's Search Quality Rater Guidelines: https://services.google.com/fh/files/misc/hsw-sqrg.pdf * Schema.org Person type: https://schema.org/Person * Schema.org Article.author: https://schema.org/Article * Schema.org EducationalOccupationalCredential: https://schema.org/EducationalOccupationalCredential * MDN meta name=author: https://developer.mozilla.org/en-US/docs/Web/HTML/Element/meta/name * Dublin Core Metadata Initiative: https://www.dublincore.org/specifications/dublin-core/ * Wikidata: https://www.wikidata.org/ * Wikidata Q138610626 (Joseph Anady): https://www.wikidata.org/wiki/Q138610626 --- ## APPENDIX A: ONE PAGE QUICK REFERENCE For the person who just wants the answer. ### The Bubbles rule **Editorial content**: individual author with Schema.org Person. **Marketing content**: organization attribution or none. **YMYL content**: credentialed individual author with EducationalOccupationalCredential. ### The canonical pattern (editorial with verified identity) ```html <head> <meta name="author" content="Joseph Anady"> <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "BlogPosting", "author": { "@type": "Person", "name": "Joseph Anady", "url": "https://thatdeveloperguy.com/about/", "sameAs": ["https://www.wikidata.org/wiki/Q138610626"] }, "publisher": { "@type": "Organization", "name": "ThatDeveloperGuy.com" } } </script> </head> <body> <article> <p class="byline">By <a href="/about/" rel="author">Joseph Anady</a></p> </article> </body> ``` ### Five rules to memorize 1. **Editorial: individual. Marketing: organization. YMYL: credentialed individual.** 2. **All author signals must align: meta, Schema.org, byline, Open Graph, Twitter.** 3. **For YMYL Bubbles clients: Handled Tax = PTIN ONLY, not CPA/EA. Counseling = LPC.** 4. **Use Wikidata sameAs for verified identity (Joseph Q138610626).** 5. **Privacy: get author consent. Pseudonym option when appropriate.** ### Five commands every operator should know ```bash # 1. Check meta author for a URL curl -s URL | grep -oE 'meta name="author"[^>]+' | head -1 # 2. Verify alignment across layers author-alignment-check.sh URL # 3. Find missing author on editorial pages for url in $(curl -s URL/sitemap.xml | grep -oE "<loc>[^<]+</loc>" | sed 's/<[^>]*>//g' | grep "/blog/"); do HAS=$(curl -s "$url" | grep -c 'meta name="author"') [ "$HAS" = "0" ] && echo "MISSING: $url" done # 4. Verify credential guardrails (Handled Tax) curl -s URL | grep -c -iE "amanda.*(cpa|enrolled.*agent|ea\b)" # Expected: 0 # 5. Apply changes systemctl restart fastapi-sidecar ``` ### Three end to end tests ```bash # 1. Editorial page has all three layers (meta + schema + byline) URL=https://thatdeveloperguy.com/blog/sample/ META=$(curl -s "$URL" | grep -c 'meta name="author"') SCHEMA=$(curl -s "$URL" | grep -c '"author"') BYLINE=$(curl -s "$URL" | grep -c 'class="byline"') [ "$META" -ge 1 ] && [ "$SCHEMA" -ge 1 ] && [ "$BYLINE" -ge 1 ] && echo "OK: all three layers" || echo "FAIL" # 2. Marketing page has organization or no attribution URL=https://thatdeveloperguy.com/services/ META=$(curl -s "$URL" | grep -oE 'meta name="author" content="[^"]+"' | sed 's/.*content="\([^"]*\)".*/\1/') if [ -z "$META" ] || [ "$META" = "ThatDeveloperGuy" ]; then echo "OK: organization or omitted" else echo "FAIL: $META on marketing page" fi # 3. YMYL credential guardrail respected (Handled Tax) URL=https://handledtax.com VIOLATIONS=$(curl -s "$URL/sitemap.xml" | grep -oE "<loc>[^<]+</loc>" | sed 's/<[^>]*>//g' | while read u; do curl -s "$u" 2>/dev/null | grep -iE "amanda.*(cpa|enrolled.*agent|ea\b)" > /dev/null && echo "$u" done | wc -l) [ "$VIOLATIONS" = "0" ] && echo "OK: no credential overstatement" || echo "FAIL: $VIOLATIONS violations" ``` If all three pass, the author attribution layer is correctly wired across the meta, structured data, and visible byline signals with privacy and credential guardrails respected. --- End of framework-html-meta-author.md.

Search equations, builds, manuscript text, and recovered sources.