UNmiss Blog

How PHP.net Gets 121K Visits on 450M Links

php.net has 450M backlinks and a sitemap listing 39 URLs. 9 SEO lessons on template links, and the 21M that say Powered by PHP.

php.net has 450M backlinks and a sitemap that lists 39 URLs.

That is 4 times the link count of GOV.UK, which we measured separately and which had the biggest profile we had ever seen until this one.

I ran php.net through 4 of our tools. It has the largest link profile of any site I have measured, by a wide margin. And 21M of those links carry the same 3 words. Here are the 8 lessons you can use.

UNmiss Backlink Analyzer for php.net showing 669,238 .edu backlinks, the link quality breakdown at 98.6 percent dofollow, and an anchor list led by Powered by PHP at over 20 million links.
What to notice: 670K .edu links, 99% dofollow, and an anchor list led by a footer badge.

Count what your sitemap leaves out

Our Backlink Analyzer reports 450M backlinks from 470K referring domains, at Domain Trust 97.

That is free. A profile this size needs filtering rather than counting, and Semrush and SE Ranking both let you strip out the template links and look at what is left, which is the only part that tells you anything.

For scale, Dribbble and TED both have enormous profiles of their own. php.net has more links than those two and GOV.UK combined.

And its sitemap declares 39 URLs, in a file smaller than this page.

Those 2 facts together are the whole article. The sitemap has nothing to do with how this site got found, because the web has been linking to it since the 1990s.

So before you spend a quarter on your sitemap, work out how much of your discovery it is really doing. On an old, well-linked site the answer is often almost none.

Find the template that carries your links

The anchor list explains where they came from. The most common anchor across 450M backlinks is "Powered by PHP" — 21M links.

Behind it come "php", then "Linguaggio: Php" and "View the PHP docs", each smaller than the last.

"Powered by PHP" is a footer badge. Somebody put it in a CMS template decades ago, that template shipped in millions of installations, and every one of them has been linking here ever since.

This is the 8th site I have measured where the link engine is a template rather than a campaign. I found the same thing in separate case studies on Eventbrite, whose links come from a ticket widget, itch.io, whose top anchor is a Buy Now button, Open Library, wired into library catalogues, and PyPI, MDN and Docker Hub.

php.net is the purest case, and the oldest.

So go and find which template is carrying your own links. If you cannot name one, that is the answer: your links are being written by hand, one at a time, and they will stop the month you stop paying for them.

Put your name in the footer

The instruction, stated as plainly as the evidence allows.

If you make something other people build on — a framework, a plugin, a theme, a platform, an embeddable component — the single highest-leverage SEO decision available to you is what the default attribution link says and whether it is there at all.

You choose that string once. It then propagates at the rate your software is installed, for as long as it is installed, with no further work.

Two cautions worth stating. Make it genuinely optional and genuinely useful, because a forced link is a footgun. And check what yours currently says with the Backlink Analyzer — several sites in this series have a top anchor nobody at the company chose deliberately.

Test the badge before you ship it

Which brings us to the third-most-common anchor on php.net's profile: the literal word "null", on 11M links.

That is not a PHP keyword being linked. It is what an anchor looks like when a template tries to print a variable that was never set, and then ships anyway.

That is 11M copies of the same bug, and about 2% of one of the largest link profiles on the web.

Here is why it matters to you. If a template you hand out has a bug in its attribution link, that bug spreads exactly as fast as the working version would have.

So test the badge before you ship it. Then read your own anchor report a few months later to find out what actually went out, because it will not always be what you wrote.

Read your dofollow share as a fingerprint

Almost every link php.net has is dofollow. Barely any are nofollow.

That is the highest dofollow share of any site measured here, and it is a direct consequence of the mechanism. Template links sit in a site's own footer, where nobody adds a nofollow attribute. Editorial citations — the Wikipedia, Reddit and forum links that make up Rotten Tomatoes' 67% nofollow — default the other way.

So the ratio is a fingerprint, not a grade. Nearly all dofollow means your links were installed. Mostly nofollow means your links were written.

Neither is healthier than the other. But knowing which one you have tells you where your next link is going to come from, and that is the thing worth planning around.

Work with us
450M links, and 121K visits

php.net has one of the biggest link profiles on the web and very little traffic. Links are not the goal. If someone is selling you authority without asking what pages it will land on, ask them this question.

  • We start with the pages, then the links
  • Link building that points somewhere useful
  • SEO and GEO run as one programme
  • Free consultation before any spend
Book a free consultation → See our link building work →

Never trust a metric built on a sitemap

Divide the referring domains by the 39 URLs the sitemap declares and you get about 12K referring domains for every listed page.

Measured the same way, calculator.net gets 143 and PyPI gets a fraction of one.

The comparison is deliberately unfair. php.net is not really a 39-page site, it just declares one. But that is exactly the point.

A sitemap describes what you chose to declare, not what exists and not what earns. Any number you calculate against it inherits that choice, and usually nobody remembers making it.

So check what yours declares against what you actually publish, with the XML Sitemap Generator. The two drift apart quietly.

Build an index a crawler can follow

So how does anything get found? Through the manual's own index pages.

An earlier crawl found the English function index carries 9,100 internal links, all pointing into the manual. Every one we sampled resolved.

Add the examples index and the landing page and you get a floor of 9,700 English pages, none of them listed in the sitemap.

The php.net manual function index, a single page carrying thousands of internal links to individual function pages.
What to notice: the function index. This one page carries 9,100 internal links and does the crawling the sitemap declines to.

Three index pages do the entire discovery job for a manual of thousands of functions.

That is the structure to copy: a well-linked index beats a well-maintained sitemap. We found the same thing from the opposite direction in the Docker Hub case study, where a sitemap frozen for 2 years cost almost nothing.

If every page on your site is 2 clicks from something a crawler already visits, your sitemap is a formality. Build the index pages first.

Do not let a passing check reassure you

The Website Audit scores the homepage 93/100. Behind that score: 0 critical issues, 2 warnings and 3 notices. It passed 117 checks.

UNmiss Website Audit for php.net scoring 93 out of 100 site health, with 0 critical issues, 2 warnings, 3 notices and 117 checks passed.
What to notice: 93/100 and 117 passing checks — including the sitemap check, on a sitemap declaring 39 of 9,700 pages.

That is one of the best scores I have measured. And note that it passes the sitemap check, exactly as Docker Hub's 2-year-old file does.

The audit asks whether a sitemap exists. It does not ask whether the sitemap describes the site.

That is a real gap in automated checking, ours included, and php.net is the clearest example of it there is. So do not let a green check convince you a thing is working. Open it and look.

Keep links, traffic and value apart

The Domain Overview puts php.net at 121K estimated monthly visits, worth about $100K. Its branded share is 71%.

UNmiss Domain Overview for php.net showing 182.4K organic keywords, $103.0K traffic value, an average position of 41, no paid search, and keyword movement of 3.8K new against 3.3K lost.
What to notice: the largest link profile in this series converts to $100K a month — the lowest traffic value measured.

The largest link profile on the web produces the lowest traffic value of any site I have measured.

Two reasons, and both are honest. Developers search to reach a function page they already know exists, so most of the traffic is navigational. And no advertiser bids on "php array functions", so the queries are worth nothing.

So keep links, traffic and value in 3 separate columns. php.net comes first on one of them and last on another.

If your agency reports only the first, you are being shown the number that is easiest to move.

Free, no account
Find out what your template links say

php.net's top anchor is a footer badge repeated 21M times, and its third is the word "null" — a bug that shipped 11M times. If you distribute software, a theme or an embed, its attribution link is already your biggest anchor. Go and read it.

  • The same report that found 21M links on 3 words
  • Anchor distribution, dofollow split, .edu and .gov counts
  • 3 checks a day, no signup, no card
Check a profile free

What you cannot copy

And here is what I could not measure, or had to qualify. A couple of the tools I name below are partners of ours — if you buy through those links we earn a commission, and you do not pay a cent more.

Our traffic figures are United States only and modelled from ranking positions and search volume rather than counted. php.net's audience is global and heavily non-US, so the worldwide figure is far larger than 121K. The keyword and backlink data underneath comes from SE Ranking, and the $100K traffic value is an ad-spend equivalent, not revenue — php.net sells nothing.

The backlink figures came from the app rather than the marketing tool, which has been returning HTTP 429 consistently across this and the previous batch. The app's BACKLINKS tile is a known defect on our side and has returned negative values elsewhere, so the 450M total is the page header figure, which reconciles exactly with dofollow plus nofollow, and the screenshot is cropped below that tile.

The "null" anchor is reported as measured. I have inferred that it comes from templates printing an unset variable, which is the only mechanism I can think of that produces 11M identical "null" anchors.

But I did not audit a sample of those linking pages to confirm it, and it could be an artifact on the provider's side.

The sitemap census comes from a full crawl on 29 August 2026, not from this run, and the 9,700 figure counts one language only. It found a 2,600-byte file declaring 39 URLs, and a function index carrying 9,100 internal links. I did not run Keyword Research: it has an open defect returning implausible volumes.

And what you cannot copy: 30 years. "Powered by PHP" spread because PHP ran a majority of the web during the period when badges in footers were normal. That window is closed, the norm has changed, and no amount of good design reopens it.

Frequently asked questions

How many backlinks does php.net have?

450M backlinks from 470K referring domains, measured 5 September 2026 — roughly 4 times GOV.UK's 112M and the largest profile of the 18 sites in this series. The split is 450M dofollow to 6.3M nofollow, about 99% dofollow.

What is php.net's most common anchor text?

"Powered by PHP" with 21M backlinks (5%), followed by "php" at 16M and the literal word "null" at 11M. The first is a footer badge shipped in CMS templates; the third appears to be a template printing an unset variable.

How many pages does php.net's sitemap declare?

39 URLs, in a file of 2,600 bytes, counted 29 August 2026. An earlier crawl of the manual's own index pages established a floor of 9,700 unique English pages, none of them listed individually in the sitemap.

How does php.net get crawled with such a small sitemap?

Through its index pages. The English function index alone carries 9,100 unique internal links pointing under the manual, and every sampled one resolved. Three index pages do the entire discovery job, which is why the sitemap's size does not matter.

How much is php.net's search traffic worth?

Our Domain Overview prices it at $100K a month, against 180K ranking keywords at an average position of 41 and roughly 121K estimated US organic visits. That is the lowest traffic value of the 18 sites measured, on the largest link profile — developer documentation carries almost no commercial CPC.

What is php.net's branded search share?

71% of traffic across the 100 keywords sampled. Developers largely use search to navigate to a function page they already know exists, rather than to discover the site.

What is php.net's website audit score?

93 out of 100, with 0 critical issues, 2 warnings, 3 notices and 117 checks passed on the homepage. Notably it passes the sitemap check, because a sitemap exists — no automated audit asks whether it describes the site.

Should I add an attribution link to my software?

If you distribute something others install, the default attribution link is likely to become your largest anchor by a wide margin, so the wording is worth deciding deliberately. Make it optional and useful rather than forced, and test the template before shipping — php.net's third-biggest anchor is 11M copies of a bug.

The one number to take away

21M.

That is how many links say "Powered by PHP", and it is the largest single act of link building in this entire series — performed once, by somebody adding 3 words to a footer template, decades ago.

Every big profile I have measured across these 4 batches turned out to work this way. Eventbrite's ticket widget. itch.io's "Buy Now!". Open Library's catalogue integration at 5,300 links per university. MDN's one phrase at 20M. Docker Hub's READMEs. Dribbble's embeds. PyPI's badges. Eight sites, eight industries, one mechanism.

Not one of them ran an outreach campaign that mattered.

So the question to leave with is not how to get more links. It is: is there any artefact of yours that lives on somebody else's site? If there is, the text inside it is worth more thought than your entire content calendar. If there is not, that is the thing to build.

Found something in your own report that surprised you, or measure this differently? I would genuinely like to know — the tools used are all free, so you can check every figure yourself. Measured 5 September 2026 unless stated. Domain Overview, Organic Traffic Checker, Website Audit and Backlink Analyzer figures are free runs of our own tools, all United States scope, and all modelled rather than counted where the tool says so. The sitemap census comes from php.net's own sitemap, crawled 29 August 2026. No revenue figure applies.

Blog