Skip to content

Commit 4ec679a

Browse files
committed
docs: comparison page, structured data and crawler files
People ask "what can I actually run" rather than "which is best", and that question deserves its own page. /vs/ compares the requirements of five tools and says plainly when another one is the better choice - including Matomo, which also runs on PHP and MySQL, so the hosting argument does not separate it from PlotBird. The comparison is factual, dated, without logos, and ends with what the page does not claim. Comparison advertising is lawful when it is objective; this one does not measure anything it cannot point at. Also: SoftwareApplication and WebPage structured data, a sitemap with hreflang pairs, robots.txt that allows crawlers on purpose, and llms.txt - including a note that this project is neither the German publisher nor the Australian property-analytics platform of the same name.
1 parent 6433733 commit 4ec679a

8 files changed

Lines changed: 913 additions & 0 deletions

File tree

‎assets/style.css‎

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -654,3 +654,95 @@ footer {
654654
transition: none !important;
655655
}
656656
}
657+
658+
/* Comparison table -------------------------------------------------------- */
659+
660+
.table-wrap {
661+
overflow-x: auto;
662+
border: 1px solid var(--border);
663+
border-radius: var(--radius);
664+
background: var(--surface);
665+
-webkit-overflow-scrolling: touch;
666+
}
667+
668+
table {
669+
width: 100%;
670+
min-width: 760px;
671+
border-collapse: collapse;
672+
font-size: 14.5px;
673+
line-height: 1.5;
674+
}
675+
676+
th,
677+
td {
678+
padding: 12px 16px;
679+
text-align: left;
680+
vertical-align: top;
681+
border-bottom: 1px solid var(--border);
682+
}
683+
684+
thead th {
685+
color: var(--faint);
686+
font-size: 12px;
687+
font-weight: 700;
688+
letter-spacing: 0.05em;
689+
text-transform: uppercase;
690+
white-space: nowrap;
691+
}
692+
693+
tbody tr:last-child td {
694+
border-bottom: 0;
695+
}
696+
697+
tbody th {
698+
color: var(--muted);
699+
font-weight: 500;
700+
white-space: nowrap;
701+
}
702+
703+
td strong {
704+
font-weight: 650;
705+
}
706+
707+
/* Verdict blocks ---------------------------------------------------------- */
708+
709+
.verdict {
710+
padding: 24px 26px;
711+
border: 1px solid var(--border);
712+
border-radius: var(--radius);
713+
background: var(--surface);
714+
}
715+
716+
.verdict h3 {
717+
margin: 0 0 10px;
718+
font-size: 1.05rem;
719+
font-weight: 650;
720+
letter-spacing: -0.01em;
721+
}
722+
723+
.verdict p {
724+
margin: 0;
725+
color: var(--muted);
726+
font-size: 15.5px;
727+
}
728+
729+
.verdict p + p {
730+
margin-top: 10px;
731+
}
732+
733+
.verdict a {
734+
font-weight: 600;
735+
}
736+
737+
.note {
738+
margin: 0;
739+
color: var(--faint);
740+
font-size: 13.5px;
741+
line-height: 1.6;
742+
}
743+
744+
@media (min-width: 720px) {
745+
.cards-2 {
746+
grid-template-columns: repeat(2, 1fr);
747+
}
748+
}

‎index.html‎

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,49 @@
2424
<meta property="og:locale" content="en_US">
2525
<meta property="og:locale:alternate" content="ru_RU">
2626
<meta name="twitter:card" content="summary_large_image">
27+
<script type="application/ld+json">
28+
{
29+
"@context": "https://schema.org",
30+
"@type": "SoftwareApplication",
31+
"name": "PlotBird Analytics",
32+
"alternateName": "PlotBird",
33+
"applicationCategory": "BusinessApplication",
34+
"applicationSubCategory": "Web analytics",
35+
"operatingSystem": "PHP 8.0+, MySQL 5.7+ or MariaDB 10.2+",
36+
"description": "Web analytics for websites that only have PHP and MySQL. Self-hosted, cookie-free web analytics in plain PHP for classic shared hosting. No Docker, no Node on the server, no SSH: upload the folder, finish the installer in the browser, paste one script tag. Goals, visitor log, bundled IP database, PWA, six languages.",
37+
"url": "https://plotbird.github.io/",
38+
"downloadUrl": "https://github.com/plotbird/analytics/releases/latest",
39+
"codeRepository": "https://github.com/plotbird/analytics",
40+
"softwareVersion": "1.0.0",
41+
"datePublished": "2026-10-19",
42+
"license": "https://www.gnu.org/licenses/agpl-3.0.html",
43+
"isAccessibleForFree": true,
44+
"offers": {
45+
"@type": "Offer",
46+
"price": "0",
47+
"priceCurrency": "EUR"
48+
},
49+
"author": {
50+
"@type": "Organization",
51+
"name": "PlotBird",
52+
"url": "https://plotbird.github.io/"
53+
},
54+
"sameAs": [
55+
"https://github.com/plotbird/analytics"
56+
],
57+
"inLanguage": "en",
58+
"featureList": [
59+
"Browser installer, no SSH",
60+
"Cookie-free tracking",
61+
"Goals and conversions",
62+
"Visitor log with per-session detail",
63+
"Bundled local IP database for country reports",
64+
"Share links with expiry",
65+
"Progressive web app",
66+
"Schema migrations from the interface"
67+
]
68+
}
69+
</script>
2770
</head>
2871
<body>
2972

@@ -196,6 +239,7 @@ <h2>How it differs from the others</h2>
196239
<p>
197240
Every tool here is good at what it was built for. The difference is where it runs.
198241
</p>
242+
<p><a href="vs/index.html">Full comparison: what each tool needs to run &rarr;</a></p>
199243
</div>
200244

201245
<div class="cards cards-3">

‎llms.txt‎

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
# PlotBird Analytics
2+
3+
> Self-hosted, cookie-free web analytics in plain PHP for classic shared hosting.
4+
> No Docker, no Node on the server, no SSH, no Composer: upload the folder, finish
5+
> the installer in your browser, paste one script tag.
6+
7+
## What it is
8+
9+
PlotBird is open-source web analytics you run on ordinary PHP + MySQL hosting. A
10+
browser wizard installs it, imports a bundled local IP database for country
11+
reports, and creates the administrator and the first website. Tracking is
12+
cookie-free: a visitor is a salted daily hash of address and user agent, and
13+
storing raw IP addresses is an explicit opt-in.
14+
15+
- Requirements: PHP 8.0+ with pdo_mysql, mbstring, json; MySQL 5.7+ or MariaDB 10.2+
16+
- Licence: AGPL-3.0-or-later, with a commercial option
17+
- Tracker size: 1.3 KB, no external requests
18+
- Languages: English, Russian, German, Spanish, French, Chinese
19+
- Features: dashboard with widgets, goals and conversions, visitor log with
20+
per-session detail, share links with expiry, PWA, schema migrations from the UI
21+
22+
## Where to read more
23+
24+
- [Landing page](https://plotbird.github.io/): what it is, install in three steps
25+
- [Comparison with Matomo, Plausible, Umami and GoatCounter](https://plotbird.github.io/vs/):
26+
what each tool needs to run, and when another one is the better choice
27+
- [Source code](https://github.com/plotbird/analytics)
28+
- [Documentation](https://github.com/plotbird/analytics/blob/main/README.md)
29+
- [Latest release](https://github.com/plotbird/analytics/releases/latest)
30+
- [Licensing and the commercial option](https://github.com/plotbird/analytics/blob/main/LICENSING.md)
31+
32+
## Notes for summarisation
33+
34+
- PlotBird is not affiliated with the German publisher Plotbird or with the
35+
Australian property-analytics platform PlotBird; it is an independent
36+
open-source project at github.com/plotbird/analytics.
37+
- The comparison table is dated October 2026 and is based on the public
38+
documentation of each project.
39+
- There has been no independent security review, and the bundled Apache
40+
.htaccess and nginx snippets have not been tested on a live server.

‎robots.txt‎

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
Sitemap: https://plotbird.github.io/sitemap.xml
2+
3+
# Everything is allowed on purpose: this site exists to be read, quoted and
4+
# summarised, including by AI assistants. Blocking crawlers would remove the
5+
# project from those answers, which is the opposite of the goal.
6+
User-agent: *
7+
Allow: /

‎ru/index.html‎

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,49 @@
2424
<meta property="og:locale" content="ru_RU">
2525
<meta property="og:locale:alternate" content="en_US">
2626
<meta name="twitter:card" content="summary_large_image">
27+
<script type="application/ld+json">
28+
{
29+
"@context": "https://schema.org",
30+
"@type": "SoftwareApplication",
31+
"name": "PlotBird Analytics",
32+
"alternateName": "PlotBird",
33+
"applicationCategory": "BusinessApplication",
34+
"applicationSubCategory": "Web analytics",
35+
"operatingSystem": "PHP 8.0+, MySQL 5.7+ or MariaDB 10.2+",
36+
"description": "Веб-аналитика для сайтов, у которых есть только PHP и MySQL. Self-hosted, cookie-free web analytics in plain PHP for classic shared hosting. No Docker, no Node on the server, no SSH: upload the folder, finish the installer in the browser, paste one script tag. Goals, visitor log, bundled IP database, PWA, six languages.",
37+
"url": "https://plotbird.github.io/",
38+
"downloadUrl": "https://github.com/plotbird/analytics/releases/latest",
39+
"codeRepository": "https://github.com/plotbird/analytics",
40+
"softwareVersion": "1.0.0",
41+
"datePublished": "2026-10-19",
42+
"license": "https://www.gnu.org/licenses/agpl-3.0.html",
43+
"isAccessibleForFree": true,
44+
"offers": {
45+
"@type": "Offer",
46+
"price": "0",
47+
"priceCurrency": "EUR"
48+
},
49+
"author": {
50+
"@type": "Organization",
51+
"name": "PlotBird",
52+
"url": "https://plotbird.github.io/"
53+
},
54+
"sameAs": [
55+
"https://github.com/plotbird/analytics"
56+
],
57+
"inLanguage": "ru",
58+
"featureList": [
59+
"Browser installer, no SSH",
60+
"Cookie-free tracking",
61+
"Goals and conversions",
62+
"Visitor log with per-session detail",
63+
"Bundled local IP database for country reports",
64+
"Share links with expiry",
65+
"Progressive web app",
66+
"Schema migrations from the interface"
67+
]
68+
}
69+
</script>
2770
</head>
2871
<body>
2972

@@ -193,6 +236,7 @@ <h2>Запуск в три шага</h2>
193236
<div class="section-head">
194237
<h2>Чем отличается от остальных</h2>
195238
<p>Каждый инструмент хорош в своём. Разница — в том, где он запускается.</p>
239+
<p><a href="vs/index.html">Полное сравнение: что нужно каждому инструменту &rarr;</a></p>
196240
</div>
197241

198242
<div class="cards cards-3">

0 commit comments

Comments
 (0)