Website report

Visit sitehttps://github.com/

Join the world's most widely adopted, AI-powered developer platform where millions of developers, businesses, and the largest open source community build software that advances humanity.

Audit Full discovery audit·Language English (en)·Response HTTP 200·Served by GitHub Pages

Analysed Nov 9, 2026 · 15 categories · 110 passed · 25 warnings · 2 issues · 13 informational

Audit score

D

64/100

Mixed

Agentic
92
SEO
64

What we found

2Needs a fix25Could be better110Looks good13Informational
  1. 1.Needs a fix: No dead placeholder links: needs fixing. see checkWorking, descriptive links help people find the right page.
  2. 2.Could be better: Discovery copy is distinct across sampled pages: needs attention. see checkUseful, specific content gives visitors answers and a reason to stay.
  3. 3.Could be better: Share image dimensions declared: needs attention. see checkComplete link previews make your pages easier to recognize and share.
  4. 4.Could be better: Images are missing size information. see checkDeclared dimensions keep content from jumping while images load.
  5. 5.Could be better: Your images use older file formats. see checkEfficient image formats reduce download size.

Built with 1 technology· detected stack

Read from the public source and response headers of the sampled pages.

Hosting and deploymentType
  • GitHub PagesHosting / edge

A framework or CDN signal describes the public response, not the origin host or private backend.

Site checks

110 passed · 25 warnings · 2 issues

Every observation from the crawl, grouped by what it describes. Open a row for the evidence and the recommended fix.

Metadata2Could be better9Looks good

100/100
Could be better: Title lengthTitle is 70 characters, over this audit's 60-character review point (a display heuristic, not a Google limit).

Could be better · Metadata · Review suggested

Observed evidence

Title is 70 characters, over this audit's 60-character review point (a display heuristic, not a Google limit). Google may shorten it in results.

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. It is there, but weaker than this check expects.

Recommended fix

Front-load the distinctive topic and value so a shortened title still says what the page is. The first 57 characters read: "GitHub · Change is constant. GitHub keeps you ahead. · Gi…"

Could be better: Meta description lengthDescription is 186 characters, over this audit's 160-character review point (a preview heuristic, not a Google limit).

Could be better · Metadata · Review suggested

Observed evidence

Description is 186 characters, over this audit's 160-character review point (a preview heuristic, not a Google limit).

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. It is there, but weaker than this check expects.

Recommended fix

Front-load the useful summary because Google may generate or truncate snippets by query and device.

Looks good: Page title exists

Looks good · Metadata · Measured on your page

Observed evidence

Title found: "GitHub · Change is constant. GitHub keeps you ahead. · GitHub · GitHub"

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Title says what the site does

Looks good · Metadata · Measured on your page

Observed evidence

Title "GitHub · Change is constant. GitHub keeps you ahead. · GitHu…" says more than the site name.

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Meta description exists

Looks good · Metadata · Measured on your page

Observed evidence

Meta description found: "Join the world's most widely adopted, AI-powered developer platform where millions of deve…"

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Titles unique across pages

Looks good · Metadata · Measured on your page

Observed evidence

All 10 indexable sampled pages have distinct titles.

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Show 5 more checks
Looks good: Homepage isn't noindexed

Looks good · Metadata · Measured on your page

Observed evidence

No blocking robots meta tag on the homepage.

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Character encoding declared

Looks good · Metadata · Measured on your page

Observed evidence

UTF-8 declared in the Content-Type header and a meta tag.

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: HTML5 doctype

Looks good · Metadata · Measured on your page

Observed evidence

HTML5 doctype declared.

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: No meta keywords tag

Looks good · Metadata · Measured on your page

Observed evidence

No obsolete meta keywords tag.

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Valid metadata order in <head>

Looks good · Metadata · Measured on your page

Observed evidence

No invalid element interrupts metadata in <head>.

Why this matters

The title and description are the text someone reads in a search result before deciding whether to click. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Indexing16Looks good

100/100
Looks good: Single canonical declaration

Looks good · Indexing · Measured on your page

Observed evidence

One canonical declaration found.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Noindex and canonical agree

Looks good · Indexing · Measured on your page

Observed evidence

No conflicting noindex and cross-page canonical instructions.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: No meta-refresh redirect

Looks good · Indexing · Measured on your page

Observed evidence

No meta-refresh redirect.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: No soft-404 response

Looks good · Indexing · Measured on your page

Observed evidence

No soft-404 pattern on sampled HTTP 200 pages.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Canonical target integrity

Looks good · Indexing · Measured on your page

Observed evidence

Canonical is a valid https URL. Its host is checked by the canonical consistency check.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Sampled URLs have aligned indexability signals

Looks good · Indexing · Measured on your page

Observed evidence

Indexability signals align across 10 sampled URL(s).

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Show 10 more checks
Looks good: robots.txt exists

Looks good · Indexing · Measured on your page

Observed evidence

robots.txt responds with 200.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: robots.txt doesn't block everything

Looks good · Indexing · Measured on your page

Observed evidence

The audited URL is allowed for Googlebot. No path rule matches this URL.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Sitemap exists

Looks good · Indexing · Measured on your page

Observed evidence

Sitemap found at https://github.com/sitemap_marketing.xml.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Sitemap parses and lists URLs

Looks good · Indexing · Measured on your page

Observed evidence

Sitemap lists 375 same-origin URLs.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Sitemap declared in robots.txt

Looks good · Indexing · Measured on your page

Observed evidence

robots.txt declares the sitemap.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Canonical URL set

Looks good · Indexing · Measured on your page

Observed evidence

Canonical set: https://github.com/

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Canonical is absolute and self-referencing

Looks good · Indexing · Measured on your page

Observed evidence

Canonical is absolute and points at this page.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: www vs apex consistency

Looks good · Indexing · Measured on your page

Observed evidence

Hostname is used consistently (github.com).

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: URLs are readable slugs

Looks good · Indexing · Measured on your page

Observed evidence

URL slugs are readable (28 sampled).

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Sampled pages expose search-access signals

Looks good · Indexing · Measured on your page

Observed evidence

No restrictive search-access signal on 10 sampled page(s). Actual indexing is not verified.

Why this matters

These rules decide whether the page can be indexed at all. One wrong directive hides good work. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Content2Could be better8Looks good1Informational

84/100
Could be better: Discovery copy is distinct across sampled pagesRepeated discovery copy found: description "GitHub is where people build software.

Could be better · Content · Measured on your page

Observed evidence

Repeated discovery copy found: description "GitHub is where people build software. More than 225 million people use GitHub t…" on https://github.com/about and https://github.com/login and https://github.com/security/advanced-security/code-security and https://github.com/trending.

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. It is there, but weaker than this check expects.

Recommended fix

Give each content page a distinct description, H1, and opening copy. If the pages intentionally represent one resource, consolidate them with a canonical or redirect.

Affected pages (4)

  • https://github.com/about
  • https://github.com/login
  • https://github.com/security/advanced-security/code-security
  • https://github.com/trending
Reference
Could be better: Text-to-HTML ratioVisible text is 2.1% of the HTML markup (scripts and styles excluded).

Could be better · Content · Review suggested

Observed evidence

Visible text is 2.1% of the HTML markup (scripts and styles excluded).

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. It is there, but weaker than this check expects.

Recommended fix

Text-to-HTML ratio is not a ranking factor, but a very low value often means deeply nested markup or content that only appears after JavaScript runs. Check the source-content checks before changing anything.

Not measured: ReadabilityFlesch reading ease ≈ -8 — very difficult.

Not measured · Content · Not established

Observed evidence

Flesch reading ease ≈ -8 — very difficult.

Why this matters

This observation could not be established from the available evidence. Resolve the collection limit or inspect the relevant source before deciding whether a change is needed.

Recommended fix

Shorten sentences and prefer plain words. Aim for 50–70 for a general audience.

Looks good: Crawlable content in source HTML

Looks good · Content · Measured on your page

Observed evidence

No recognized empty JavaScript application shell on 10 sampled page(s). The entered page exposes 544 publisher word(s).

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Homepage content volume

Looks good · Content · Measured on your page

Observed evidence

The audited page has about 544 words of main content.

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: No placeholder text

Looks good · Content · Measured on your page

Observed evidence

No placeholder text detected on crawled pages.

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Show 5 more checks
Looks good: No starter-template leftovers

Looks good · Content · Measured on your page

Observed evidence

No starter-template artifacts detected.

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Title and H1 agree

Looks good · Content · Measured on your page

Observed evidence

Title and H1 share topic words: you.

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Crawled pages aren't near-duplicates

Looks good · Content · Measured on your page

Observed evidence

No near-duplicate main content among 9 indexable sampled pages.

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: No deprecated HTML tags

Looks good · Content · Measured on your page

Observed evidence

No deprecated HTML tags.

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Outbound references

Looks good · Content · Measured on your page

Observed evidence

31 outbound link(s) present.

Why this matters

This is the substance of the page. Placeholders and repeated copy make it read as unfinished. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Social sharing1Could be better7Looks good

92/100
Could be better: Share image dimensions declaredog:image:width / og:image:height are missing.

Could be better · Social sharing · Review suggested

Observed evidence

og:image:width / og:image:height are missing.

Why this matters

This is what your link looks like when someone drops it into a chat or a feed. It is there, but weaker than this check expects.

Recommended fix

Declare them (1200×630 recommended) so platforms render the preview immediately on first share instead of after re-scraping.

Looks good: Open Graph title

Looks good · Social sharing · Measured on your page

Observed evidence

og:title: "GitHub · Change is constant. GitHub keeps you ahead. · GitHub"

Why this matters

This is what your link looks like when someone drops it into a chat or a feed. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Open Graph description

Looks good · Social sharing · Measured on your page

Observed evidence

og:description: "Join the world's most widely adopted, AI-powered developer platform where millions of deve…"

Why this matters

This is what your link looks like when someone drops it into a chat or a feed. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Open Graph image

Looks good · Social sharing · Measured on your page

Observed evidence

og:image is set: "https://images.ctfassets.net/8aevphvgewt8/76epZKB2wF998m4e4bLLXn/c505f20b00ec70b88b1be5aec%E2%80%A6"

Why this matters

This is what your link looks like when someone drops it into a chat or a feed. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Share image loads

Looks good · Social sharing · Measured on your page

Observed evidence

og:image returns 200 (image/jpeg).

Why this matters

This is what your link looks like when someone drops it into a chat or a feed. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: og:url and og:type

Looks good · Social sharing · Measured on your page

Observed evidence

og:url and og:type ("object") are set.

Why this matters

This is what your link looks like when someone drops it into a chat or a feed. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Twitter/X card

Looks good · Social sharing · Measured on your page

Observed evidence

twitter:card is "summary_large_image".

Why this matters

This is what your link looks like when someone drops it into a chat or a feed. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: og:site_name

Looks good · Social sharing · Measured on your page

Observed evidence

og:site_name: "GitHub".

Why this matters

This is what your link looks like when someone drops it into a chat or a feed. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Structured data2Could be better2Looks good1Informational

100/100
Could be better: JSON-LD presentNo JSON-LD structured data on the homepage.

Could be better · Structured data · Review suggested

Observed evidence

No JSON-LD structured data on the homepage.

Why this matters

Structured data tells machines who published the page and what it describes. Broken markup is ignored outright. It is there, but weaker than this check expects.

Recommended fix

Add Organization and WebSite schema. They state who publishes the site and what it is called, which is what rich results and answer engines read first.

Reference
Could be better: Organization or WebSite schemaNo Organization, WebSite or Person schema found.

Could be better · Structured data · Review suggested

Observed evidence

No Organization, WebSite or Person schema found.

Why this matters

Structured data tells machines who published the page and what it describes. Broken markup is ignored outright. It is there, but weaker than this check expects.

Recommended fix

Add an identity node so search engines and AI assistants can attribute your content to a real entity.

Reference
Not measured: Breadcrumb schema on inner pagesNone of the 9 crawled inner pages declare BreadcrumbList schema.

Not measured · Structured data · Not established

Observed evidence

None of the 9 crawled inner pages declare BreadcrumbList schema.

Why this matters

This observation could not be established from the available evidence. Resolve the collection limit or inspect the relevant source before deciding whether a change is needed.

Recommended fix

Add BreadcrumbList to inner pages — Google shows breadcrumbs in results and it clarifies site structure.

Affected pages (9)

  • https://github.com/about
  • https://github.com/enterprise/contact
  • https://github.com/login
  • https://github.com/platform
  • https://github.com/features/copilot
  • https://github.com/security/advanced-security/code-security
  • https://github.com/marketplace
  • https://github.com/trending
  • https://github.com/open-source/sponsors
Reference
Looks good: JSON-LD parses

Looks good · Structured data · Measured on your page

Observed evidence

All 1 JSON-LD block(s) parse cleanly.

Why this matters

Structured data tells machines who published the page and what it describes. Broken markup is ignored outright. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Content-specific schema

Looks good · Structured data · Measured on your page

Observed evidence

Content schema found: FAQPage.

Why this matters

Structured data tells machines who published the page and what it describes. Broken markup is ignored outright. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Headings1Could be better6Looks good

91/100
Could be better: Element IDs are unique per document6 duplicate ID occurrence(s) across 2 document(s).

Could be better · Headings · Measured on your page

Observed evidence

6 duplicate ID occurrence(s) across 2 document(s).

Why this matters

Headings are the outline every parser and screen reader follows to find the answer. It is there, but weaker than this check expects.

Recommended fix

Give each element a unique id and update fragment links and aria-labelledby references to point to the intended element.

Affected pages (2)

  • https://github.com/
  • https://github.com/enterprise/contact
Looks good: H1 exists

Looks good · Headings · Measured on your page

Observed evidence

H1 found: "Software still starts with you"

Why this matters

Headings are the outline every parser and screen reader follows to find the answer. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Single H1

Looks good · Headings · Measured on your page

Observed evidence

Exactly one H1 on the homepage.

Why this matters

Headings are the outline every parser and screen reader follows to find the answer. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Heading levels don't skip

Looks good · Headings · Measured on your page

Observed evidence

Heading hierarchy is sequential across 28 headings.

Why this matters

Headings are the outline every parser and screen reader follows to find the answer. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: H1 has real text

Looks good · Headings · Measured on your page

Observed evidence

H1 reads "Software still starts with you".

Why this matters

Headings are the outline every parser and screen reader follows to find the answer. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Headings are descriptive

Looks good · Headings · Measured on your page

Observed evidence

28 headings, averaging 3.0 words — descriptive.

Why this matters

Headings are the outline every parser and screen reader follows to find the answer. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Content is sectioned with H2s

Looks good · Headings · Measured on your page

Observed evidence

12 H2 section(s) structure the page.

Why this matters

Headings are the outline every parser and screen reader follows to find the answer. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Images2Could be better2Looks good

69/100
Could be better: Width/height attributes7 of 8 visible images lack width and height attributes: features-platform-1-light-ee1b034c37d9c2…, features-platform-2-light-32ce78d3f32a1c…, features-ways-1-light-7f965c4693916b6d.j…, ….

Could be better · Images · Review suggested

Observed evidence

7 of 8 visible images lack width and height attributes: features-platform-1-light-ee1b034c37d9c2…, features-platform-2-light-32ce78d3f32a1c…, features-ways-1-light-7f965c4693916b6d.j…, ….

Why this matters

Alt text is what a screen reader announces, and what image search and AI systems read in place of the picture. It is there, but weaker than this check expects.

Recommended fix

Set explicit width and height so the browser reserves the space before the image loads. Without them the page shifts as images arrive, which is what Cumulative Layout Shift measures. next/image sets them for you.

Reference
Could be better: Modern image formats8 of 8 raster images are served only as PNG or JPEG: features-platform-1-light-ee1b034c37d9c2…, features-platform-2-light-32ce78d3f32a1c…, features-ways-1-light-7f965c4693916b6d.j…, ….

Could be better · Images · Review suggested

Observed evidence

8 of 8 raster images are served only as PNG or JPEG: features-platform-1-light-ee1b034c37d9c2…, features-platform-2-light-32ce78d3f32a1c…, features-ways-1-light-7f965c4693916b6d.j…, ….

Why this matters

Alt text is what a screen reader announces, and what image search and AI systems read in place of the picture. It is there, but weaker than this check expects.

Recommended fix

Serve WebP or AVIF versions, which are usually 25–50% smaller at the same quality. Use <picture> with a WebP/AVIF <source> and the original as fallback, or an image CDN or framework image component that converts automatically.

Reference
Looks good: Alt text coverage

Looks good · Images · Measured on your page

Observed evidence

All 8 visible images declare alt attributes (including empty alt for decorative images). Whether each description fits its image needs a human look.

Why this matters

Alt text is what a screen reader announces, and what image search and AI systems read in place of the picture. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Lazy loading

Looks good · Images · Measured on your page

Observed evidence

8/8 images are lazy-loaded.

Why this matters

Alt text is what a screen reader announces, and what image search and AI systems read in place of the picture. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Mobile1Could be better3Looks good2Informational

91/100
Could be better: ARIA references point to source elementsARIA references point at IDs that do not exist on 1 sampled page(s), e.g.

Could be better · Mobile · Measured on your page

Observed evidence

ARIA references point at IDs that do not exist on 1 sampled page(s), e.g. aria-controls="business-plan-tab-panel".

Why this matters

Google indexes the phone rendering, so that is the version being graded. It is there, but weaker than this check expects.

Recommended fix

Connect ARIA references to unique existing IDs. If JavaScript adds the targets, verify the rendered accessibility tree.

Affected pages (1)

  • https://github.com/features/copilot
Reference
Not applicable: Responsive image markupNone of the 22 images use srcset.

Not applicable · Mobile · Measured on your page

Observed evidence

None of the 22 images use srcset.

Why this matters

Google indexes the phone rendering, so that is the version being graded. This check does not apply to the features observed in this sample.

Recommended fix

Serve smaller variants to phones with srcset/sizes (next/image handles this) — mobile users shouldn't download desktop-sized images.

Not measured: No tiny inline font sizesNo sub-12px inline font sizes detected; stylesheet rules and rendered sizes were not measured.

Not measured · Mobile · Not established

Observed evidence

No sub-12px inline font sizes detected; stylesheet rules and rendered sizes were not measured.

Why this matters

This observation could not be established from the available evidence. Resolve the collection limit or inspect the relevant source before deciding whether a change is needed.

Recommended fix

Check computed font sizes in a browser across mobile widths.

Looks good: Viewport meta tag

Looks good · Mobile · Measured on your page

Observed evidence

Viewport configured: "width=device-width".

Why this matters

Google indexes the phone rendering, so that is the version being graded. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Pinch zoom not disabled

Looks good · Mobile · Measured on your page

Observed evidence

The viewport lets users zoom.

Why this matters

Google indexes the phone rendering, so that is the version being graded. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Interactive controls have source labels

Looks good · Mobile · Measured on your page

Observed evidence

2421 source controls have detectable names. Browser accessibility and CSS visibility were not tested.

Why this matters

Google indexes the phone rendering, so that is the version being graded. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Language3Looks good

100/100
Looks good: html lang attribute

Looks good · Language · Measured on your page

Observed evidence

Language declared: lang="en".

Why this matters

The declared language tells browsers and assistive tech how to read the page and who it is for. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: hreflang syntax

Looks good · Language · Measured on your page

Observed evidence

8 syntactically valid hreflang tags including x-default. Reciprocal links and target content were not verified.

Why this matters

The declared language tells browsers and assistive tech how to read the page and who it is for. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Declared language matches content

Looks good · Language · Measured on your page

Observed evidence

Declared language (en) matches detected content language.

Why this matters

The declared language tells browsers and assistive tech how to read the page and who it is for. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Branding4Looks good

100/100
Looks good: Favicon

Looks good · Branding · Measured on your page

Observed evidence

Favicon declared via <link rel="icon"> (https://github.githubassets.com/favicons/favicon.png).

Why this matters

These icons are what appear in browser tabs, bookmarks and search results. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Apple touch icon

Looks good · Branding · Measured on your page

Observed evidence

apple-touch-icon is declared.

Why this matters

These icons are what appear in browser tabs, bookmarks and search results. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Web app manifest

Looks good · Branding · Measured on your page

Observed evidence

Web manifest links and parses correctly.

Why this matters

These icons are what appear in browser tabs, bookmarks and search results. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Theme color

Looks good · Branding · Measured on your page

Observed evidence

theme-color is "#1e2327".

Why this matters

These icons are what appear in browser tabs, bookmarks and search results. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Performance

83/100

Measured from the audited response and its markup. These are source observations, not field Core Web Vitals.

Performance measurements observed during the audit
MeasureThis siteReading
HTML payload size513 KBCould be better: needs attentionThe page's HTML is 513 KB uncompressed.
Script/stylesheet count—Could be better: needs attention5 scripts + 42 stylesheets on the homepage.
Web fonts don't block text—Informational: not applicableNo Google Fonts stylesheet links detected.
Server response time18 msLooks good: goodThe audit received response headers after 18 ms from one test location.
No render-blocking head scripts—Looks good: goodNo synchronous render-blocking scripts in <head>.
Inline styles are bounded0.1 KBLooks good: goodInline styles total 0.1 KB.
HTML served compressed—Looks good: goodHTML is compressed with gzip.
Iframe usage—Looks good: goodNo iframes.
Source HTML weight512.8 KBInformational: measured source, not transferred bytes512.8 KB of HTML on the audited page

From a single automated fetch of the audited page. A quick reading, not a substitute for Lighthouse or field data.

Security

100/100

HTTPS, transport security and the response headers the audited pages send.

Could be better: Browser feature permissionsNo explicit restriction on sensitive browser features was observed.

Could be better · Security · Review suggested

Observed evidence

No explicit restriction on sensitive browser features was observed.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. It is there, but weaker than this check expects.

Recommended fix

Disable unused camera, microphone, or geolocation access using Permissions-Policy.

Looks good: Site serves over HTTPS

Looks good · Security · Measured on your page

Observed evidence

Site serves over HTTPS.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: HTTP redirects to HTTPS

Looks good · Security · Measured on your page

Observed evidence

http:// permanently redirects to https://./

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: HSTS header

Looks good · Security · Measured on your page

Observed evidence

HSTS is set: max-age=31536000; includeSubdomains; preload.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Content Security Policy

Looks good · Security · Measured on your page

Observed evidence

An enforced CSP restricts scripts and object embedding.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. The inspected source provides this signal.

Recommended fix

Review the complete policy against the application's resource and inline-script needs.

Looks good: Frame embedding protection

Looks good · Security · Measured on your page

Observed evidence

Response headers restrict cross-origin framing (frame-ancestors 'none').

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Referrer policy

Looks good · Security · Measured on your page

Observed evidence

Referrer-Policy is strict-origin-when-cross-origin.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: X-Content-Type-Options

Looks good · Security · Measured on your page

Observed evidence

nosniff is set.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: No mixed content

Looks good · Security · Measured on your page

Observed evidence

No insecure subresources detected.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Server technology disclosure

Looks good · Security · Measured on your page

Observed evidence

No X-Powered-By disclosure.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Declared form submission targets

Looks good · Security · Measured on your page

Observed evidence

4 declared form(s) submit over HTTPS to this site. Runtime submission behavior is untested.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Password forms avoid URL submission

Looks good · Security · Measured on your page

Observed evidence

No password form declares GET submission in the sampled source. Runtime handling was not tested.

Why this matters

HTTPS protects what visitors send you, and response headers limit what a hostile page can do in their browser. The inspected source provides this signal.

Recommended fix

Nothing to do here.

AI answer readiness

100/100

Retrieval signals an answer engine relies on: crawler access, clear entities and answers it can quote. These checks do not measure citations or traffic.

Could be better: Definitional openingThe opening paragraph doesn't define what the site/topic is: "Repository hosting, code review, and collaboration…"

Could be better · AI answer readiness · Review suggested

Observed evidence

The opening paragraph doesn't define what the site/topic is: "Repository hosting, code review, and collaboration…"

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. It is there, but weaker than this check expects.

Recommended fix

"X is a Y that does Z for W" in the first paragraph gives answer engines a liftable definition of you. Write it once, benefit everywhere.

Could be better: Freshness signalsNo dateModified schema or visible 'updated' dates found.

Could be better · AI answer readiness · Review suggested

Observed evidence

No dateModified schema or visible 'updated' dates found.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. It is there, but weaker than this check expects.

Recommended fix

For content where dates matter, show the actual update date and mirror it in dateModified. Do not invent dates or change them without a substantive update. Missing dates alone do not prove stale content.

Could be better: Question headings have concise answers3/42 question-shaped heading(s) have a 20–500 character paragraph immediately after them.

Could be better · AI answer readiness · Measured on your page

Observed evidence

3/42 question-shaped heading(s) have a 20–500 character paragraph immediately after them.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. It is there, but weaker than this check expects.

Recommended fix

Put a direct 20–500 character answer paragraph immediately after each question heading so retrieval systems can quote it cleanly.

Affected pages (2)

  • https://github.com/
  • https://github.com/features/copilot
Could be better: Machine-readable provenance signalsOnly 2 of 4 provenance signal types were found: author, contact.

Could be better · AI answer readiness · Measured on your page

Observed evidence

Only 2 of 4 provenance signal types were found: author, contact.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. It is there, but weaker than this check expects.

Recommended fix

Add the missing author, date, breadcrumb, or contact signal so machines can identify provenance and site structure.

Affected pages (3)

  • https://github.com/
  • https://github.com/features/copilot
  • https://github.com/security/advanced-security/code-security
Could be better: Markdown copies of pagesNo markdown copy answered at /index.md or /about.md or /index.html.md.

Could be better · AI answer readiness · Measured on your page

Observed evidence

No markdown copy answered at /index.md or /about.md or /index.html.md.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. It is there, but weaker than this check expects.

Recommended fix

Publish a clean markdown copy of each key page at /page.md (or /page.html.md). It strips navigation and scripts, so a retriever spends its budget on your content.

Affected pages (2)

  • https://github.com/
  • https://github.com/about
Reference
Not measured: Authored, dated articlesNo Article/BlogPosting schema found.

Not measured · AI answer readiness · Not established

Observed evidence

No Article/BlogPosting schema found.

Why this matters

This observation could not be established from the available evidence. Resolve the collection limit or inspect the relevant source before deciding whether a change is needed.

Recommended fix

Add Article schema with author and datePublished so the page exposes clear provenance for retrieval. This audit does not measure or guarantee citations or rankings.

Not measured: Citable facts density47 concrete figures across 1090 words.

Not measured · AI answer readiness · Not established

Observed evidence

47 concrete figures across 1090 words.

Why this matters

This observation could not be established from the available evidence. Resolve the collection limit or inspect the relevant source before deciding whether a change is needed.

Recommended fix

Good — keep facts specific and current, and date-stamp them.

Not applicable: Accept: text/markdown negotiationThe homepage answered Accept: text/markdown with text/html; charset=utf-8.

Not applicable · AI answer readiness · Measured on your page

Observed evidence

The homepage answered Accept: text/markdown with text/html; charset=utf-8.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. This check does not apply to the features observed in this sample.

Recommended fix

Optional: return a stripped markdown body when the request asks for text/markdown. Some hosts and CDNs do this for you; a plain HTML answer is not a defect.

Not applicable: Advertised machine interfaces are inspectableNo OpenAPI interface was advertised by sampled HTML.

Not applicable · AI answer readiness · Measured on your page

Observed evidence

No OpenAPI interface was advertised by sampled HTML.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. This check does not apply to the features observed in this sample.

Recommended fix

An API is optional. Add a service-desc link if you already publish a machine-readable API specification.

Looks good: llms.txt

Looks good · AI answer readiness · Measured on your page

Observed evidence

llms.txt exists (28649 chars of markdown).

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: llms-full.txt

Looks good · AI answer readiness · Measured on your page

Observed evidence

llms-full.txt is published.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: AI crawler access

Looks good · AI answer readiness · Measured on your page

Observed evidence

The audited URL is allowed for evaluated answer-search crawlers.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: FAQ/QA schema

Looks good · AI answer readiness · Measured on your page

Observed evidence

FAQ/QA schema found.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Semantic HTML structure

Looks good · AI answer readiness · Measured on your page

Observed evidence

Semantic structure present: main×1, section×15, nav×7, header×1, footer×1.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Question-style headings

Looks good · AI answer readiness · Measured on your page

Observed evidence

17% of 251 subheadings are question-shaped.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Answers lead the section

Looks good · AI answer readiness · Measured on your page

Observed evidence

Paragraphs get to the point without preamble.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Content is chunkable

Looks good · AI answer readiness · Measured on your page

Observed evidence

Paragraphs average 22 words, lists present — chunk-friendly.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Cites external sources

Looks good · AI answer readiness · Measured on your page

Observed evidence

341 outbound reference(s) across crawled pages.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Consistent brand entity

Looks good · AI answer readiness · Measured on your page

Observed evidence

Brand declared: og:site_name "GitHub".

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Description reads as a liftable summary

Looks good · AI answer readiness · Measured on your page

Observed evidence

Meta description works as a standalone summary.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Entity identity agrees across signals

Looks good · AI answer readiness · Measured on your page

Observed evidence

The site is consistently named "GitHub" and 2 identity URL(s) stay on github.com.

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: llms.txt follows the spec

Looks good · AI answer readiness · Published platform rule

Observed evidence

llms.txt has an H1, a summary, 12 section(s) and 117 link(s).

Why this matters

This is what an AI assistant relies on when deciding whether it can quote your page. The inspected source provides this signal.

Recommended fix

Nothing to do here.

AdSense readinessOptional

26/100

Publisher-policy signals, for sites that plan to carry ads. These checks do not affect the overall score or grade, and they do not measure or guarantee AdSense approval.

On its own, this site scores 29/100 for publisher readiness. Ignore this section if you do not run ads.

Needs a fix: Privacy policy pageNo privacy policy page is linked or crawlable.

Needs a fix · AdSense policy · Review suggestedCritical

Observed evidence

No privacy policy page is linked or crawlable.

Why this matters

A publisher review looks for this before it accepts a site. Right now the sampled pages don't provide it.

Recommended fix

Publish an accessible privacy policy that discloses cookies and data use by Google and other third-party ad vendors.

Reference
Could be better: Sampled publisher-content coverage1/8 editorial pages expose fewer than 250 publisher words; those 8 pages hold 7068 publisher words in total.

Could be better · AdSense policy · Review suggestedCritical

Observed evidence

1/8 editorial pages expose fewer than 250 publisher words; those 8 pages hold 7068 publisher words in total. 2 of the 10 sampled pages are support or tool pages and were excluded from this check.

Why this matters

A publisher review looks for this before it accepts a site. It is there, but weaker than this check expects.

Recommended fix

Review whether each page fully serves its purpose. Expand incomplete editorial content with useful information; keep concise navigation and tool pages when they help visitors.

Affected pages (1)

  • https://github.com/login
Reference
Could be better: Latest article reads as edited workStyle pattern score 45/100 on the newest article: 3 stock phrase(s) including "harness the power of"; 0.27 numbers or dates per 100 words.

Could be better · AdSense policy · Review suggestedCritical

Observed evidence

Style pattern score 45/100 on the newest article: 3 stock phrase(s) including "harness the power of"; 0.27 numbers or dates per 100 words.

Why this matters

A publisher review looks for this before it accepts a site. It is there, but weaker than this check expects.

Recommended fix

Edit the flagged passages: cut the stock phrases, break up the uniform rhythm, and add concrete detail. These are style patterns in the sampled text, not a determination of how the page was written.

Affected pages (1)

  • https://github.com/readme/guides
Reference
Could be better: Terms pageNo terms of use page found.

Could be better · AdSense policy · Review suggested

Observed evidence

No terms of use page found.

Why this matters

A publisher review looks for this before it accepts a site. It is there, but weaker than this check expects.

Recommended fix

Consider adding terms that identify the service rules and publisher. This is a transparency heuristic, not an AdSense requirement.

Could be better: Tool pages expose explanatory content1/10 tool-style screen(s) expose fewer than 80 publisher words.

Could be better · AdSense policy · Review suggested

Observed evidence

1/10 tool-style screen(s) expose fewer than 80 publisher words. Google publishes no minimum word count; this is an audit heuristic.

Why this matters

A publisher review looks for this before it accepts a site. It is there, but weaker than this check expects.

Recommended fix

Explain the tool's purpose, inputs, method, limitations, and result interpretation in source HTML. Add useful material, not filler.

Affected pages (1)

  • https://github.com/login
Reference
Could be better: Latest article names an author and a dateThe newest article shows a date but no author.

Could be better · AdSense policy · Measured on your page

Observed evidence

The newest article shows a date but no author.

Why this matters

A publisher review looks for this before it accepts a site. It is there, but weaker than this check expects.

Recommended fix

Add the missing one in the visible page and in Article JSON-LD, so the byline and the markup agree.

Affected pages (1)

  • https://github.com/readme/guides
Reference
Not measured: Privacy policy advertising disclosuresA privacy page was not present in the crawl sample, so its disclosures could not be verified.

Not measured · AdSense policy · Not established

Observed evidence

A privacy page was not present in the crawl sample, so its disclosures could not be verified.

Why this matters

This observation could not be established from the available evidence. Resolve the collection limit or inspect the relevant source before deciding whether a change is needed.

Recommended fix

Confirm the policy explains cookies or similar storage, Google or advertising vendors, and third-party data use.

Reference
Not measured: First-party contact emailA contact page or form exists, but no public email address was found.

Not measured · AdSense policy · Review suggested

Observed evidence

A contact page or form exists, but no public email address was found.

Why this matters

This observation could not be established from the available evidence. Resolve the collection limit or inspect the relevant source before deciding whether a change is needed.

Recommended fix

A public email is optional. The separate contact-method check covers whether readers have a way to reach the publisher.

Not measured: ads.txtNo ads.txt yet.

Not measured · AdSense policy · Not established

Observed evidence

No ads.txt yet.

Why this matters

This observation could not be established from the available evidence. Resolve the collection limit or inspect the relevant source before deciding whether a change is needed.

Recommended fix

When AdSense provides your publisher entry, publish it exactly at /ads.txt and monitor authorization status in your account.

Reference
Not measured: Domain age & historyDomain age isn't visible from the site itself.

Not measured · AdSense policy · Not established

Observed evidence

Domain age isn't visible from the site itself.

Why this matters

This observation could not be established from the available evidence. Resolve the collection limit or inspect the relevant source before deciding whether a change is needed.

Recommended fix

Do not use age as a content-quality proxy. Verify ownership and account eligibility in AdSense; Google's general eligibility page publishes no domain-age threshold.

Reference
Looks good: About page

Looks good · AdSense policy · Measured on your page

Observed evidence

About page found: https://github.com/about

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Contact method

Looks good · AdSense policy · Measured on your page

Observed evidence

Contact page found: https://github.com/enterprise/contact

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Thin page share

Looks good · AdSense policy · Review suggested

Observed evidence

7/8 editorial pages clear the audit's publisher-content triage threshold. 2 of the 10 sampled pages are support or tool pages and were excluded from this check.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: No ads on non-content screens

Looks good · AdSense policy · Published platform rule

Observed evidence

No Google ad code detected on sampled non-content screens.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Reference
Looks good: Publisher content differs across URLs

Looks good · AdSense policy · Review suggested

Observed evidence

No high publisher-content repetition among 8 substantial sampled page(s).

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Publisher content exists in source HTML

Looks good · AdSense policy · Measured on your page

Observed evidence

No empty client-rendered publisher shell in the crawl sample.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Clear navigation

Looks good · AdSense policy · Measured on your page

Observed evidence

Navigation present with 101 links.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Article-style content exists

Looks good · AdSense policy · Measured on your page

Observed evidence

Article-style content detected.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: No "coming soon" or placeholder pages

Looks good · AdSense policy · Measured on your page

Observed evidence

No "coming soon", "under construction" or lorem-ipsum text on crawled pages.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Site language is AdSense-supported

Looks good · AdSense policy · Measured on your page

Observed evidence

Language "en" is AdSense-supported.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Show 4 more checks
Looks good: Existing ad scripts

Looks good · AdSense policy · Measured on your page

Observed evidence

No competing ad scripts on the page.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Looks good: Author bylines on content

Looks good · AdSense policy · Review suggested

Observed evidence

Author attribution appears on all 1 sampled editorial pages.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to change.

Reference
Looks good: Author or publisher background

Looks good · AdSense policy · Review suggested

Observed evidence

Discoverable author or publisher background supports all 1 attributed editorial pages.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to change.

Reference
Looks good: Latest article has real depth

Looks good · AdSense policy · Measured on your page

Observed evidence

The newest article carries 2220 words of body text.

Why this matters

A publisher review looks for this before it accepts a site. The inspected source provides this signal.

Recommended fix

Nothing to do here.

Hosting and infrastructure

Public endpoint facts observed at audit time. A CDN or proxy can conceal the origin infrastructure.

Hosting and infrastructure observations
Hostnamegithub.com
HostingGitHub Pages
IP addresses20.29.134.23
DNS A20.29.134.23
DNS NSdns1.p08.nsone.net · dns2.p08.nsone.net · dns3.p08.nsone.net · dns4.p08.nsone.net · ns-1283.awsdns-32.org · ns-1707.awsdns-21.co.uk · ns-421.awsdns-52.com · ns-520.awsdns-01.net
DNS MX0 github-com.mail.protection.outlook.com
DNS CAA{"critical":0,"type":"CAA","issue":"digicert.com"} · {"critical":0,"type":"CAA","issue":"globalsign.com"} · {"critical":0,"type":"CAA","issue":"letsencrypt.org"} · {"critical":0,"type":"CAA","issue":"sectigo.com"} · {"critical":0,"type":"CAA","issuewild":"digicert.com"} · {"critical":0,"type":"CAA","issuewild":"letsencrypt.org"} · {"critical":0,"type":"CAA","issuewild":"sectigo.com"}
TLSTLSv1.3TLS_AES_128_GCM_SHA256
Certificate issuerSectigo Limited / Sectigo Public Server Authentication CA DV E36
Certificate valid untilJan 27 23:59:59 2027 GMT
Certificate validationPassed

Website anatomy and diagnostics

Explore links, resources, crawler access and site integrations.

Page architecture

Choose a page to explore its details and connections.

Page content

544 publisher words

Page structure

html content

Observed discovery

Depth 0 · 8 incoming links

HTTP 200 · 512.8 KB source

Source interactions

169 controls · 0 unnamed

5 script / 42 stylesheet references

Canonical declaration
https://github.com/
Schema types
None observed
Outgoing links in sampled graph
/login · /platform · /features/copilot · /features/actions · /features/code-quality · /features/codespaces · /security/advanced-security/code-security · /security/advanced-security/secret-protection · /features · /features/ai · /marketplace · /trending · /open-source/sponsors · /resources/articles · /enterprise · /team · /enterprise/startups · /solutions/industry/nonprofits · /solutions/industry/healthcare · /solutions/industry/financial-services · /solutions/industry/manufacturing · /solutions/industry/government · /solutions/industry · /why-github · /customer-stories · /solutions/executive-insights · /trust-center · /security/advanced-security · /features/copilot/copilot-business · /enterprise/premium-support · /resources · /resources/events · /orgs/community/discussions · /about · /partners · /pricing · /signup · /events/universe/recap · /obsessiondb/chkit/pull/625 · /devvmhq/devvm · /acn-r2d2/nautilus/commit/b91efae57f0cb1b13a385a44ecbbdc7096096984 · /jtl6713/SM-Pipeline-V2/pull/1755 · /paragbml/open-clip-studio · /martinfrancois/pdf-pack-and-crop/pull/37 · /vercel-labs/agent-desktop · /juanguiremynol-lgtm/lexyai/commit/cc224217155277200806614b8ac7bd60b49da23e · /mohamadkaifshaik/thezerothai/pull/772 · /x0rro/xara · /lbockenstedt/ab/pull/464 · /MythosOfs/Orchid · /features/copilot/plans · /get_started · /customer-stories/figma · /customer-stories/mercedes-benz · /customer-stories/mercado-libre · /hyprwm/Hyprland · /astral-sh/ruff · /Homebrew/brew · /aquasecurity/trivy · /nushell/nushell · /google-deepmind/mujoco · /vitejs/vite · /sindresorhus/awesome · /nlohmann/json · /microsoft/onnxruntime · /microsoft/playwright · /codecrafters-io/build-your-own-x · /newsletter · /github-roadmap · /resources/articles/devops-tools-comparison · /education · /apps/desktop · /mobile · /mcp · /services · /sitemap · /customer-stories · /about/diversity · /git-guides · /github

Routes: / · /about · /enterprise · /login · /platform · /features · /security · /marketplace · /trending · /open-source

Repeated metadata in the sample

Same description: github is where people build software. more than 225 million people use github to discover, fork, and contribute to over 800 million projects.

/about · /login · /security/advanced-security/code-security · /trending

Resource origins 5

Resources associated with your website. External resources may belong to the same organization.

  • https://github.githubassets.com/stylesheet, script, image, media · 375 references · cross origin
  • https://avatars.githubusercontent.com/image · 81 references · cross origin
  • https://images.ctfassets.net/image · 71 references · cross origin
  • https://github.com/image · 8 references · same origin
  • https://videos.ctfassets.net/media · 2 references · cross origin
Crawler policy by page

Review crawler access for your pages. Search, training and user-triggered services have different purposes; declared access does not guarantee discovery.

Robots policy for every evaluated crawler and sampled page
Crawler / purposePagePolicyMatched directive
Googlebotsearch/allowedDeclared policy for this page.
Googlebotsearch/aboutallowedDeclared policy for this page.
Googlebotsearch/enterprise/contactallowedDeclared policy for this page.
Googlebotsearch/loginallowedDeclared policy for this page.
Googlebotsearch/platformallowedDeclared policy for this page.
Googlebotsearch/features/copilotallowedDeclared policy for this page.
Googlebotsearch/security/advanced-security/code-securityallowedDeclared policy for this page.
Googlebotsearch/marketplaceallowedDeclared policy for this page.
Googlebotsearch/trendingallowedDeclared policy for this page.
Googlebotsearch/open-source/sponsorsallowedDeclared policy for this page.
bingbotsearch/allowedDeclared policy for this page.
bingbotsearch/aboutallowedDeclared policy for this page.
bingbotsearch/enterprise/contactallowedDeclared policy for this page.
bingbotsearch/loginallowedDeclared policy for this page.
bingbotsearch/platformallowedDeclared policy for this page.
bingbotsearch/features/copilotallowedDeclared policy for this page.
bingbotsearch/security/advanced-security/code-securityallowedDeclared policy for this page.
bingbotsearch/marketplaceallowedDeclared policy for this page.
bingbotsearch/trendingallowedDeclared policy for this page.
bingbotsearch/open-source/sponsorsallowedDeclared policy for this page.
OAI-SearchBotsearch/allowedDeclared policy for this page.
OAI-SearchBotsearch/aboutallowedDeclared policy for this page.
OAI-SearchBotsearch/enterprise/contactallowedDeclared policy for this page.
OAI-SearchBotsearch/loginallowedDeclared policy for this page.
OAI-SearchBotsearch/platformallowedDeclared policy for this page.
OAI-SearchBotsearch/features/copilotallowedDeclared policy for this page.
OAI-SearchBotsearch/security/advanced-security/code-securityallowedDeclared policy for this page.
OAI-SearchBotsearch/marketplaceallowedDeclared policy for this page.
OAI-SearchBotsearch/trendingallowedDeclared policy for this page.
OAI-SearchBotsearch/open-source/sponsorsallowedDeclared policy for this page.
PerplexityBotsearch/allowedDeclared policy for this page.
PerplexityBotsearch/aboutallowedDeclared policy for this page.
PerplexityBotsearch/enterprise/contactallowedDeclared policy for this page.
PerplexityBotsearch/loginallowedDeclared policy for this page.
PerplexityBotsearch/platformallowedDeclared policy for this page.
PerplexityBotsearch/features/copilotallowedDeclared policy for this page.
PerplexityBotsearch/security/advanced-security/code-securityallowedDeclared policy for this page.
PerplexityBotsearch/marketplaceallowedDeclared policy for this page.
PerplexityBotsearch/trendingallowedDeclared policy for this page.
PerplexityBotsearch/open-source/sponsorsallowedDeclared policy for this page.
Claude-SearchBotsearch/allowedDeclared policy for this page.
Claude-SearchBotsearch/aboutallowedDeclared policy for this page.
Claude-SearchBotsearch/enterprise/contactallowedDeclared policy for this page.
Claude-SearchBotsearch/loginallowedDeclared policy for this page.
Claude-SearchBotsearch/platformallowedDeclared policy for this page.
Claude-SearchBotsearch/features/copilotallowedDeclared policy for this page.
Claude-SearchBotsearch/security/advanced-security/code-securityallowedDeclared policy for this page.
Claude-SearchBotsearch/marketplaceallowedDeclared policy for this page.
Claude-SearchBotsearch/trendingallowedDeclared policy for this page.
Claude-SearchBotsearch/open-source/sponsorsallowedDeclared policy for this page.
GPTBottraining/allowedDeclared policy for this page.
GPTBottraining/aboutallowedDeclared policy for this page.
GPTBottraining/enterprise/contactallowedDeclared policy for this page.
GPTBottraining/loginallowedDeclared policy for this page.
GPTBottraining/platformallowedDeclared policy for this page.
GPTBottraining/features/copilotallowedDeclared policy for this page.
GPTBottraining/security/advanced-security/code-securityallowedDeclared policy for this page.
GPTBottraining/marketplaceallowedDeclared policy for this page.
GPTBottraining/trendingallowedDeclared policy for this page.
GPTBottraining/open-source/sponsorsallowedDeclared policy for this page.
ClaudeBottraining/allowedDeclared policy for this page.
ClaudeBottraining/aboutallowedDeclared policy for this page.
ClaudeBottraining/enterprise/contactallowedDeclared policy for this page.
ClaudeBottraining/loginallowedDeclared policy for this page.
ClaudeBottraining/platformallowedDeclared policy for this page.
ClaudeBottraining/features/copilotallowedDeclared policy for this page.
ClaudeBottraining/security/advanced-security/code-securityallowedDeclared policy for this page.
ClaudeBottraining/marketplaceallowedDeclared policy for this page.
ClaudeBottraining/trendingallowedDeclared policy for this page.
ClaudeBottraining/open-source/sponsorsallowedDeclared policy for this page.
Google-Extendedtraining and other Google AI uses/allowedDeclared policy for this page.
Google-Extendedtraining and other Google AI uses/aboutallowedDeclared policy for this page.
Google-Extendedtraining and other Google AI uses/enterprise/contactallowedDeclared policy for this page.
Google-Extendedtraining and other Google AI uses/loginallowedDeclared policy for this page.
Google-Extendedtraining and other Google AI uses/platformallowedDeclared policy for this page.
Google-Extendedtraining and other Google AI uses/features/copilotallowedDeclared policy for this page.
Google-Extendedtraining and other Google AI uses/security/advanced-security/code-securityallowedDeclared policy for this page.
Google-Extendedtraining and other Google AI uses/marketplaceallowedDeclared policy for this page.
Google-Extendedtraining and other Google AI uses/trendingallowedDeclared policy for this page.
Google-Extendedtraining and other Google AI uses/open-source/sponsorsallowedDeclared policy for this page.
ChatGPT-Useruser-initiated; robots may not apply/allowedDeclared policy for this page.
ChatGPT-Useruser-initiated; robots may not apply/aboutallowedDeclared policy for this page.
ChatGPT-Useruser-initiated; robots may not apply/enterprise/contactallowedDeclared policy for this page.
ChatGPT-Useruser-initiated; robots may not apply/loginallowedDeclared policy for this page.
ChatGPT-Useruser-initiated; robots may not apply/platformallowedDeclared policy for this page.
ChatGPT-Useruser-initiated; robots may not apply/features/copilotallowedDeclared policy for this page.
ChatGPT-Useruser-initiated; robots may not apply/security/advanced-security/code-securityallowedDeclared policy for this page.
ChatGPT-Useruser-initiated; robots may not apply/marketplaceallowedDeclared policy for this page.
ChatGPT-Useruser-initiated; robots may not apply/trendingallowedDeclared policy for this page.
ChatGPT-Useruser-initiated; robots may not apply/open-source/sponsorsallowedDeclared policy for this page.
Advertised APIs and machine interfaces
  • documentation · declared

    https://github.com/trending/developers

    This interface was advertised; its runtime behavior remains unverified.

Public DNS and TLS endpoint

github.com · observed · 20.29.134.23

A
20.29.134.23
AAAA
Unavailable for this exact hostname
CNAME
Unavailable for this exact hostname
NS
dns1.p08.nsone.net · dns2.p08.nsone.net · dns3.p08.nsone.net · dns4.p08.nsone.net · ns-1283.awsdns-32.org · ns-1707.awsdns-21.co.uk · ns-421.awsdns-52.com · ns-520.awsdns-01.net
MX
0 github-com.mail.protection.outlook.com
CAA
{"critical":0,"type":"CAA","issue":"digicert.com"} · {"critical":0,"type":"CAA","issue":"globalsign.com"} · {"critical":0,"type":"CAA","issue":"letsencrypt.org"} · {"critical":0,"type":"CAA","issue":"sectigo.com"} · {"critical":0,"type":"CAA","issuewild":"digicert.com"} · {"critical":0,"type":"CAA","issuewild":"letsencrypt.org"} · {"critical":0,"type":"CAA","issuewild":"sectigo.com"}

TLS: TLSv1.3

Certificate validation passed for the observed endpoint.

Issuer: Sectigo Limited / Sectigo Public Server Authentication CA DV E36

Certificate valid until: Jan 27 23:59:59 2027 GMT

PageSpeed measurement

Loading the PageSpeed panel…

Growth resources

Loading growth resources…

Where to take this site next

Follow-on work suggested by the observations above.

  1. 01

    Fix the fundamentals first

    Your top fixes list is the priority order — clear the red items before creating more content.

  2. 02

    Re-run the combined audit after each batch of fixes

    Re-run after fixes to see which checks changed; score bands are guidance, not a guarantee of ranking, traffic, or approval.

  3. 03

    Fix AdSense policy signals

    Make policy pages, publisher disclosures and substantial content reachable before applying. This audit cannot predict approval.

Apply the recommended fixes

Hand the complete evidence to a coding agent, or take the report with you.

Open in ChatGPT Open in Grok Open in Perplexity

Report notes

  • 01This report covers the sampled public pages listed above. Other pages may have different results.
  • 02Browser-rendered content, private backend systems and authenticated experiences may require a separate review.
  • 03Unavailable observations are identified in the report. Results do not guarantee rankings, citations, security, accessibility or advertising approval.
Pages included in this report
  • https://github.com/
  • https://github.com/about
  • https://github.com/enterprise/contact
  • https://github.com/login
  • https://github.com/platform
  • https://github.com/features/copilot
  • https://github.com/security/advanced-security/code-security
  • https://github.com/marketplace
  • https://github.com/trending
  • https://github.com/open-source/sponsors