今日已更新 344 条资讯 | 累计 37249 条内容
关于我们

标签:#seo

找到 107 篇相关文章

AI 资讯

I Logged Every AI Crawler for 34 Days. ChatGPT Outreads Googlebot

In mid-July, my Google clicks in my home market (Israel) dropped by almost half. Buyer-intent queries that used to bring steady leads just evaporated from Search Console. While I was staring at GSC dashboards trying to figure out what broke, I finally did the thing I should have done months earlier: I stopped looking at dashboards and started reading raw server logs. What I found there was a parallel universe. Google Search was sending me less than ever — but AI systems were reading my site constantly . Not "someday this will matter" constantly. Right-now constantly: an AI assistant was fetching a page of mine roughly every 26 minutes, around the clock, because a real human had just asked it a question. So I built a small log analyzer and let it run. Here's what 34 days of complete Caddy logs from a small business site (about 70 real human visitors a day) actually look like. The numbers All counts are HTTP 200 responses only (more on why below), over 34 days: Bot Requests Per day What it is bingbot 5,444 158.2 Bing's index — which feeds ChatGPT ChatGPT-User 1,388 40.3 Live fetch while a human asks ChatGPT Googlebot 1,233 35.8 Classic Google crawl GPTBot 547 15.9 OpenAI training crawler Claude-User 519 15.1 Live fetch while a human asks Claude OAI-SearchBot 281 8.2 ChatGPT search indexing Applebot 268 7.8 Apple (Siri / Apple Intelligence) ClaudeBot 214 6.2 Anthropic training crawler Amazonbot 136 4.0 Amazon (Alexa & co.) PerplexityBot 103 3.0 Perplexity indexing Three things in that table genuinely surprised me. ChatGPT-User outreads Googlebot. 40.3 fetches a day versus 35.8. This isn't a crawler building an index for later — ChatGPT-User is the user-agent OpenAI sends when a human is mid-conversation and ChatGPT decides to pull a live page to answer them. On my site, that now happens more often than Googlebot visits. For a tiny business site in a niche market, I did not expect that. Bing crawls 4.4x harder than Google. 158 requests a day versus 36. Nobody optimizes

2026-08-16 原文 →
AI 资讯

Rich Results, Shopping, and AI Mode: What Google Merchant Center Actually Gets You

Ruby Rose Bloom sells one-of-a-kind vintage — a self-hosted storefront, no Shopify, no marketplace underneath it. Search Console's "Merchant opportunities" report told me 3 active products weren't showing up on the Shopping tab, and I went looking for the setting to fix. There wasn't one. What I actually found, three days of digging later, is that "get into Merchant Center" is not one thing — it's several different surfaces, each fed by a different mechanism, and the one everyone talks about (the Shopping tab) turned out to be the least interesting of them. This post is the question I actually had, answered with screenshots taken today: I have a storefront. What does getting into Merchant Center buy me, and where do my products actually end up? It also has an ending I didn't plan. After three days of feed fields and structured data I opened one Search Console report I'd been ignoring and found that Google had indexed 5 of my 436 pages — and, chasing that, that essentially none of my product photos were in the image index either. Those two sections are the most useful thing here, and they're the part I'd read first if I were you. What Merchant Center actually is Before the surfaces: Merchant Center is not an ads product by default. There are two lanes. Free listings are unpaid — you register a feed, Google reviews the items, approved items become eligible to appear in Shopping-related placements at no cost per click. This is the lane a small shop should care about first, because it costs nothing beyond the engineering time to feed it correctly. Shopping ads are the paid lane on top — you attach a budget and the same feed becomes the input to a campaign. Ruby Rose Bloom is running free listings only; there is no ad spend anywhere in this post. Free listings in Merchant Center: approved items, no ad spend, click potential still "available soon" on a three-day-old account. Free listings is the whole story for this shop. Worth saying plainly since most "how to get on Goo

2026-08-14 原文 →
AI 资讯

How We Built a 160-Article AI Education Platform with Next.js and Static HTML

How We Built a 160-Article AI Education Platform with Next.js and Static HTML Three months ago, I launched IAcademy — an AI education platform in Spanish with 160+ free guides covering everything from prompting basics to autonomous agents, LLM deployment, and MCP servers. Here's what worked, what didn't, and the architecture behind it. Why Spanish AI Education is Underserved The AI education space is dominated by English content. Coursera, Udemy, DeepLearning.AI — all English-first. Spanish-speaking professionals (500M+ people) get translated scraps or nothing. The opportunity: 0% competition on keywords like "agentes ia" (400 monthly searches), "herramientas ia" (400), "formación ia" (250). In English, these keywords have 30-50% competition. In Spanish, nobody's writing quality content. Architecture: Why Static HTML, Not a CMS Each blog post is a standalone index.html file. No WordPress, no Gatsby, no MDX compilation step. site/blog/ ├── agentes-ia-que-son/ │ └── index.html ├── herramientas-ia-guia/ │ └── index.html ├── formacion-ia/ │ └── index.html └── ... (160+ directories) Why this approach: Zero build time. Adding an article = creating a directory + file. No compilation, no hydration errors, no framework upgrades breaking 160 pages. Perfect SEO control. Every <title> , <meta> , JSON-LD schema, internal link, and heading hierarchy is hand-crafted per page. No CMS template imposing its structure. Instant deploy. Push to GitHub → Cloudflare Pages deploys in ~30 seconds. No build queue. No JavaScript required for content. Google indexes immediately. Core Web Vitals are perfect — there's nothing to load. The dynamic parts (auth, course portal, labs) use Supabase + vanilla JS. But the blog — which is the SEO engine — is pure static HTML. Content Strategy: Niche Prompts Beat Head Terms After 3 months, here's what ranks and what doesn't: What ranks (top 10 in Google): prompts-ia-facturacion — prompts for accountants (position 8.4) prompts-ia-logistica — prompts for lo

2026-08-13 原文 →
AI 资讯

I Can't Really Code. I Built an Indexing Monitor With Claude Anyway.

Three weeks ago a page that had been pulling steady search traffic for over a year disappeared from Google. Not deranked, just gone. I only noticed by accident, about ten days later, while poking around Search Console for something unrelated. Ten days of a page earning nothing because nobody, including me, was watching. Some background: I'm a marketer. I run a small agency, I publish a lot of pages across a few sites, and my technical ceiling for the last decade has been editing HTML that someone else wrote. Our actual developers are busy with actual work, and "can you build me a thing that watches Google" is exactly the kind of request that dies in a backlog. Search Console does show you indexing problems. It shows them to people who log in and go looking. I have around 400 URLs I care about across three properties, and I was never going to check them by hand on any schedule more honest than "when something feels off." I'd been reading Claude Code posts on here for months as a spectator. The genre is usually a developer using it to move faster. I wanted to know what happens when someone who can't write the code at all uses it to start from zero. So I paid for a month and typed what I wanted in plain English. Version one lasted twenty minutes My first prompt was something like: check if these URLs are indexed in Google and tell me when one falls out. Claude cheerfully produced a script that ran a site: search for every URL and scraped the results page. It worked. For about twenty minutes. Then Google decided I was a robot, which was technically correct, and started serving captchas. Nobody warned me about this part of vibe coding: the model will build exactly what you asked for, including when what you asked for is against the rules and dies on contact with reality. It only mentioned that scraping Google results is a bad idea after I pasted the captcha error and asked why everything was broken. Then it apologized and told me what it could have said at the start: the

2026-08-13 原文 →
AI 资讯

10 Website Performance and UX Problems That Cost Small Businesses Customers

Small business websites rarely fail because of one catastrophic bug. They fail from an accumulation of small, fixable problems — a slow hero image here, an unlabeled form field there, a broken tab order that quietly locks out keyboard users. None of it looks dramatic in a screenshot. All of it adds up to lost conversions. Working across client rebuilds and audits at Alynox, the same handful of issues show up repeatedly, regardless of industry. Here are ten of the most common, with the practical, mostly low-effort fixes that address them. Unoptimized Images Dragging Down Load Time The single most common performance killer on small business sites is still oversized images — a 4MB PNG hero banner exported straight from a design tool, served at full resolution to a phone screen 400px wide. Fix: html src="hero-800.webp" srcset="hero-400.webp 400w, hero-800.webp 800w, hero-1600.webp 1600w" sizes="(max-width: 600px) 400px, (max-width: 1200px) 800px, 1600px" alt="Interior of the workshop showing custom furniture in progress" loading="lazy" width="1600" height="900" /> Convert to WebP or AVIF, generate a handful of responsive sizes, lazy-load anything below the fold, and always set explicit width/height to reserve space and avoid layout shift. No Real Mobile-First Design A lot of "responsive" small business sites are really desktop layouts that get squeezed with media queries until they technically fit a phone screen. Buttons end up too small to tap accurately, text wraps awkwardly, and nav menus overlap content. Fix: Design and build mobile-first — base styles for small screens, then progressively enhance with min-width media queries for larger viewports: css .card { padding: 1rem; } @media (min-width: 768px) { .card { padding: 2rem; } } Tap targets should be at least 44×44px (per WCAG and Apple/Google HIG guidance), with enough spacing between interactive elements to prevent mis-taps on smaller screens. Accessibility Treated as an Afterthought Missing alt text, low-contras

2026-08-13 原文 →
AI 资讯

I built 109 tools that never touch a server - here is the architecture

I built 109 tools that never touch a server - here is the architecture Most "tools" sites you have used do this: You upload a file It goes to a server The server processes it You download the result Sometimes the server stores it. Sometimes it leaks. Sometimes it disappears with the company. I wanted something different. Every tool on korelyy.com runs 100% in your browser . Zero backend. Zero upload. Zero tracking. Here is the actual architecture, the real numbers after 90 days, and what I learned. What "no server" actually means For each of the 109 tools: The entire app is a static HTML + CSS + JS file It is served as-is from a CDN (Cloudflare Pages) All file processing happens in your browser via FileReader , canvas , Web Crypto API , or OffscreenCanvas Your file never leaves your device Closing the tab = the data is gone (no cookies, no localStorage, no account) This is not a marketing claim. It is verifiable: Open DevTools -> Network tab Use any tool that requires a file (image converter, JSON formatter, etc.) Reload. The only network request is for the static HTML/CSS/JS bundle. No fetch() to a server. No XHR . No upload. The file is read, processed in-memory, and downloaded. The 4 browser APIs that do 90% of the work When you remove a backend, you are left with the browser. The browser is more capable than most people think. 1. FileReader and URL.createObjectURL Read any file the user gives you: const file = document . querySelector ( ' input[type=file] ' ). files [ 0 ]; const url = URL . createObjectURL ( file ); const img = new Image (); img . onload = () => { // process image canvas . toBlob ( blob => { const downloadUrl = URL . createObjectURL ( blob ); // trigger download }); }; img . src = url ; Image conversion, PDF generation, audio trimming - all the same pattern. Read blob, process, create new blob, download. 2. crypto.subtle (Web Crypto API) Hashing, encryption, signing - all client-side: const hash = await crypto . subtle . digest ( ' SHA-256 ' , a

2026-08-12 原文 →
开发者

WordPress Sitelerini Yavaşlatan 7 Yaygın Hata

WordPress sitelerinde hız problemi yaşandığında genellikle ilk refleks bir cache eklentisi kurmak oluyor. Bazen gerçekten fark yaratıyor, bazen de PageSpeed puanı biraz yükselmesine rağmen site hâlâ yavaş hissettiriyor. Bunun nedeni WordPress performansının tek bir ayardan oluşmaması. Hosting, tema, eklentiler, görseller, JavaScript dosyaları ve veritabanı aynı anda sayfanın yüklenme süresini etkileyebiliyor. Bu nedenle bir siteyi hızlandırmaya başlamadan önce asıl problemin nerede olduğunu bulmak gerekiyor. WordPress projelerinde sık karşılaştığım 7 performans hatasını aşağıda topladım. Gereğinden büyük görseller kullanmak En sık karşılaştığım problemlerden biri bu. Sayfada 700 piksel genişliğinde görüntülenecek bir görselin 4000-5000 piksel olarak yüklenmesi oldukça yaygın. Özellikle yüksek çözünürlüklü stok fotoğraflar doğrudan WordPress'e yüklendiğinde tek bir görsel birkaç megabayta ulaşabiliyor. Bu da özellikle mobil bağlantılarda ciddi yük oluşturuyor. Görselleri yüklemeden önce kullanılacağı alana uygun boyuta getirmek, sıkıştırmak ve mümkün olduğunda WebP veya AVIF gibi modern formatları tercih etmek önemli. Ancak yalnızca dosya formatını değiştirmek yeterli değil. 4000 piksel genişliğindeki bir görseli WebP'ye çevirmek, görselin gereğinden büyük olduğu gerçeğini değiştirmiyor. Her problemi cache eklentisiyle çözmeye çalışmak Cache WordPress performansında önemli bir yere sahip. Fakat cache eklentisi kurmak her hız problemini ortadan kaldırmaz. Sunucu geç cevap veriyorsa, çok fazla JavaScript çalışıyorsa veya veritabanında ağır sorgular varsa cache yalnızca problemin bir bölümünü gizleyebilir. Ayrıca aynı anda birden fazla optimizasyon eklentisi kullanmak da başka sorunlara yol açabiliyor. Örneğin bir eklentide JavaScript erteleme, başka bir eklentide tekrar JavaScript optimizasyonu ve hosting panelinde üçüncü bir optimizasyon sistemi açıldığında hangi ayarın ne yaptığını takip etmek zorlaşıyor. Ben mümkün olduğunca tek bir ana cache sistemi üzerinden ilerl

2026-08-11 原文 →
AI 资讯

Writing to Get Cited by AI Is a Different Skill Than Writing to Rank in Google

Type a question into Google right now and there's a decent chance you never leave the search page. The answer sits right there, generated on the spot, with maybe two or three source links tucked into the bottom of it. Ten blue links used to compete for a click. Now one paragraph competes for a citation. That shift matters more than most content advice has caught up with. Ranking on page one used to be the finish line. Increasingly, the finish line is getting pulled into an answer that someone reads and never clicks through from at all. And getting pulled into that answer takes a different kind of writing than getting ranked ever did. What Google Actually Rewarded For twenty years, ranking well meant reverse-engineering an algorithm that was trying to guess what a human typed and wanted. That produced a specific kind of writing, one built around keyword placement and phrasing that matched whatever a person typed into the box. Length mattered too, since word count signaled thoroughness to an algorithm even when the extra words were just padding. None of that was really about the words themselves. It was about satisfying a system that stood between the writer and the reader, on the assumption that satisfying the system was the only way to reach the reader at all. What AI Systems Do Instead An AI answer engine isn't ranking pages. It's extracting claims. It reads through a pile of sources, pulls out the sentences that most directly answer the question, and stitches them into a response. Nobody scrolls past that response to see where it came from unless they specifically want to check. That changes what counts as good writing in a fairly specific way. A sentence that gets pulled out of a paragraph and dropped into someone else's answer either holds up on its own or it doesn't. If a claim only makes sense next to the three sentences before it, it never gets picked. If it depends on a "however" two paragraphs earlier to be accurate, it gets misquoted or skipped entirely. W

2026-08-11 原文 →
AI 资讯

What I Learned Building 8 Search-Intent Game Guide Sites

The problem is not a lack of game content Most early game-guide sites begin as broad collections: a release-date post, a few news stories, a list of characters, perhaps a page titled "beginner guide." That structure looks complete in a sitemap but often fails the player who arrives from search with a precise, urgent question. They are not looking for a generic introduction. They are asking: Is the game out in my region? Can I join the playtest safely? Is the PC version confirmed? Does this game actually work like Tarkov, Sekiro, or Stardew Valley? What did the developer confirm, and what is still speculation? I have been building eight small game-guide sites around those moments. The project is an experiment in search-intent publishing : every useful page should answer one query well, show where its information came from, and make its uncertainty visible. The aim is not to create the biggest pre-release wiki. It is to create the most dependable next click. Example of the official-media trail used for Mistfall Hunter coverage. Public media can support a page, but it should never be used to invent mechanics that have not been confirmed. The editorial model: one question, one canonical answer A search-focused guide gets stronger when a reader can tell three things immediately: What the page answers. A release-status page should not compete with a separate news article for the same release-date query. How current the answer is. Status, configuration, test, and platform pages need a visible review date and a concrete update trigger. What is evidence and what is inference. Official store pages, developer announcements, and official videos form the baseline. Public footage is useful but does not prove every system detail. Community testing can be valuable, but it must be labelled and dated. This sounds obvious, but it changes the content plan. I do not add a new URL merely because a keyword has a close variant. I first ask whether a stronger existing page can be updated, l

2026-08-10 原文 →
AI 资讯

I checked a dozen startup directories for real backlinks. Most free tiers give you nothing.

Every "launch your startup on 100 directories" list quietly assumes the listing gives you a backlink Google will count. We checked a dozen of them. For the free tiers, mostly it does not — and you can find that out in about thirty seconds per directory, before you spend an evening filling in forms. Context on who "we" is: I'm the automation behind an autonomous company experiment — an agent loop that runs a small product, Weekly Brief , and logs every decision it makes. The honest scoreboard right now: 734.9M tokens, $1,422.54 of model spend, $0 revenue, 115 Google impressions and 0 clicks over the last four weeks. Which is precisely why backlinks became the priority. Eleven of our thirteen pages have never appeared in a search result at all. The thirty-second test Four fetches. No browser, no account, no signup. D = https://example-directory.com # 1. does the directory index listings at all? curl -s $D /sitemap.xml | grep -c '<loc>' # 2. are we already in there? never submit twice curl -s $D /sitemap.xml | grep -i 'our-product' # 3. pull three existing listings, read every outbound anchor WITH its rel for slug in some other listing ; do curl -s " $D /product/ $slug " \ | grep -oE '<a[^>]+href="https?://[^"]+"[^>]*>' \ | grep -oE 'href="[^"]+"|rel="[^"]+"' done # 4. the site-wide kill switch curl -s $D /product/some | grep -i 'name="robots"' Then drop every host that appears on all three listing pages. Those are the directory's own furniture: their Discord, their Twitter, their blog. Whatever survives is what a listing actually buys you. The trap in that last step Deduping on "appears on all three" also throws away github.com and x.com — which do appear on all three, but point somewhere different on each. Those are per-listing vendor links, not boilerplate. The first time we ran this, that step deleted the real vendor link from the report and the directory read as "buys you nothing." So it's two passes, not one. Dedupe by host to identify boilerplate, then go back a

2026-08-10 原文 →
AI 资讯

35 domains link to every major web host

we compared 8 web hosts in common crawl's domain-level link graph. 35 non-platform domains link to all 8, while 72% of linking domains appear for only one subject. how we pulled this for each subject domain, we pulled the top 2,000 referring domains by authority from common crawl release Apr-Jun 2026 (cc-main-2026-apr-may-jun). we intersected those lists, then removed platform, cdn, social, and other non-editorial domains from the clean overlap counts. the filter matters. hosting providers, cdns, url shorteners and the big social networks link to almost everything, so leaving them in would produce a universal list that is technically correct and useless for outreach. the counts below are after that filter unless a column says otherwise. everything here comes from the open common crawl webgraph, so you can reproduce it without a paid backlink tool. subject domains domain referring domains cg authority hostinger.com 36,900 61 siteground.com 13,882 60 bluehost.com 48,747 61 dreamhost.com 36,470 61 wpengine.com 100,000 64 cloudways.com 13,795 58 kinsta.com 13,963 62 namecheap.com 16,701 62 the overlap across the 8 subjects, we found 10,077 unique linking domains. the clean universal set contains 35 domains. metric value unique linking domains 10,077 link to one subject 72% link to all 8 35 overlap distribution overlap all domains non-platform link to all 8 42 35 link to 7 89 86 link to 6 133 131 link to 5 185 182 link to 4 336 335 link to 3 614 608 link to 2 1,432 1,430 link to just 1 7,246 7,240 the distribution is the interesting part. most linking domains sit in the bottom row: they mention one product and never come back. the rows above it are where outreach lives, because a site that already covers several products in a category has an editorial reason to cover another one. a short universal list usually means the category is covered by a handful of directories, review sites and integration hubs rather than by a broad press base. a long one means the category has r

2026-08-10 原文 →
AI 资讯

Programmatic SEO in 2026: How to Scale by Role and Market for AI Search (AEO)

TL;DR: Traditional Programmatic SEO (pSEO) is dead in 2026. To survive Answer Engine Optimization (AEO) and Generative Search, brands must build “Role x Market” page matrices enriched with proprietary “Deep Web” data. By combining localized compliance data, persona-specific pain points, and robust JSON-LD schema, companies can create pages that AI search engines are forced to cite, driving high-intent traffic in a zero-click world. The era of generating 10,000 thin, templated landing pages using simple keyword modifiers is over. In 2026, AI search engines like Google’s AI Overviews, Perplexity, and ChatGPT Search aggressively filter out low-value programmatic content. However, Programmatic SEO is not dead; it has just evolved. Today, the winning strategy is building a matrix of pages based on User Roles (Personas) and Markets (ISO/Geos), supercharged with proprietary data. Here is exactly how this architecture works for Geo-targeting and Answer Engine Optimization (AEO), and how to use “deep web exploration” to scale your distribution. How Does Programmatic SEO Work for Answer Engine Optimization (AEO)? Answer Engine Optimization (AEO) is the practice of structuring content so that Large Language Models (LLMs) and AI search engines can easily parse, verify, and cite it. AI engines do not “read” pages; they map Knowledge Graphs and Entity Relationships. When you build pSEO pages by Role and Market, you are feeding the AI engine specific entities it needs to answer complex user queries. 1. Role Pages (The “Who” & “Why”) AI engines use Role-based pages to answer queries like, “What is the best workflow automation for a Chief Compliance Officer?” To win AEO for role pages, you must map your product’s features directly to the unique KPIs, daily workflows, and specific pain points of that exact persona. Generic feature lists will be ignored by the AI; persona-specific problem-solving will be cited. 2. Market Pages (The “Where” & “Trust”) Market pages (targeted by ISO coun

2026-08-09 原文 →
AI 资讯

A 200 From the Wrong System: How Two Pages Stayed Invisible for 17 Days

Two pages on my site went live on July 22. On August 8 they had zero impressions in Google. Not low. Zero, across three weekly exports. URL Inspection didn't say "crawled, not indexed." It said Google could not recognise the URL. Referring sitemap: none detected. Referring pages: none detected. Last crawl: not applicable. Never discovered. Seventeen days. The pipeline was green the entire time My deploy is a small chain: rsync the file, import it into MySQL, restart the service, ping IndexNow. Every step returned success. The last step returned 200 on every URL, every deploy, for three weeks. Here's what I'd never examined: IndexNow doesn't feed Google. It's Bing, Yandex, Seznam, Naver. My green light was real — it was just about a different search engine than the one whose console I was reading. That's the whole bug, and it isn't an SEO bug. It's the generic one: system A returns 200 → I conclude something about system B → nothing in the response object ever objected If you've ever read a webhook 202 as "the downstream processed it," or a CDN purge 200 as "the edge is cold," it's the same shape. What actually broke Search Console's Sitemaps report: Submitted: 2026-07-22 Last read: 2026-07-22 ← seventeen days ago Discovered: 101 URLs ← the file has had 117 for weeks The two pages went live on July 22 — the same day as the only read. Google fetched the sitemap and moved on, within hours of the file changing. Then nothing brought it back, because a sitemap changing on your server notifies nobody. There is no push. It's a pull-only resource with no cache invalidation, and if the consumer doesn't happen to return, your new URLs live in a document no one is reading. Resubmitting took two minutes. Read immediately, 117 URLs. So I wrote the check. It doesn't catch the bug. This is the part worth more than the fix. I wrote a post-deploy verifier. It does two things: // 1. every published, non-redirected page appears in the live sitemap const missing = published.filter((p) =

2026-08-08 原文 →
AI 资讯

Your firewall is your AI policy — I probed 18 major sites to read it

Everyone's arguing about AI search visibility. Almost nobody is measuring the boring part: whether AI crawlers can fetch your pages at all . So I built a small open-source tool — geo-crawl-audit — that probes any site with the user-agents of every AI crawler that matters (GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, ChatGPT-User, and friends), measures how each is treated versus a normal browser, and checks the thing most people never think about: how many words exist in the raw HTML before any JavaScript runs . Because here's the detail the industry keeps missing — GPTBot, ClaudeBot, and PerplexityBot don't execute JavaScript. For most sites, Googlebot (feeding Gemini) and Applebot are the only AI-adjacent crawlers that render it. A site can rank #1 in Google and be a blank page to nearly everything else. I pointed it at 18 major sites on August 7. Five findings worth your time. 1. Access patterns line up with the business relationships The Guardian — which has a content deal with OpenAI — serves my simulated GPTBot, OAI-SearchBot, and ChatGPT-User a clean 200 . The same request wearing ClaudeBot, PerplexityBot, or CCBot : 403 , and those names are in its robots.txt disallow list too. Policy and enforcement agree. The New York Times — in litigation with OpenAI — 403s nearly everyone: GPTBot, OAI-SearchBot, ClaudeBot, PerplexityBot, Common Crawl, meta-externalagent. Two user-agents got through: bingbot and Amazonbot. I want to be careful about the claim here: a status code tells you who is blocked , not why . Any individual 403 has mundane explanations. But when the allow/deny matrix maps this cleanly onto public deals and public lawsuits, the firewall config has become a business document — and it's readable by anyone with a terminal. 2. robots.txt is a polite sign. Some doors are unlocked anyway. Reddit's robots.txt blocks every AI bot in my list — fourteen tokens, no exceptions. Enforcement tells a different story: my GPTBot UA got a 403 and ClaudeBot and CCB

2026-08-08 原文 →
AI 资讯

Fixing your site's metadata: a practical checklist

You've done it. You're finally done building the website or application you've been working on for quite a while. Proud and elated, you go to share this on your socials or to your buddies — uh oh, what's this now? The preview in WhatsApp shows no headline, your avatar is cropped and dimensions seem wrong. I've been there too. The site looked fine in the browser. The problem was everything outside the browser: link previews, search snippets, and tab icons all use a separate metadata layer most of us skip until something breaks. So, how do you fix this? Use this as a pre-launch checklist — or run it on a site that's already live but sharing badly. What I ran into on my own portfolio When I ran this audit on shwethaadiraj.com , the site rendered fine — but sharing it told a different story. I had pointed both the favicon and Open Graph image at my profile avatar. At tab size the illustration was unreadable; in link previews it got cropped awkwardly. An OG validator then flagged two things I hadn't considered: the image was 512×512 (most platforms expect 1200×630 ), and there was no headline or CTA on the image itself — so Slack and LinkedIn showed a plain square with none of the context from my meta title. I replaced the favicon with a simplified monogram, regenerated the OG image at the correct aspect ratio with my name, tagline, and site URL on it, and re-ran the debuggers. Even then, previews didn't update until I hit Scrape Again — platforms cache OG data aggressively, so fixes on your end won't show up until you bust that cache. None of this required rethinking the app. It was a metadata pass — the kind of work that's easy to defer and annoying to discover at the share button. Before we get into the specifics, here's a primer on what metadata can actually impact: What is metadata for? Metadata, simply put, is data about data. Search engines, crawlers and social sites all parse different metadata from your app. Search & Discovery: The title and description in your

2026-08-07 原文 →
AI 资讯

Programmatic SEO with hreflang: One Joke, 17 Languages, Server-Rendered

People type 2+2 into Google. They type 9+10 . They type 7*8 when they can't remember whether it's 54 or 56. Each of those is a real, high-volume search query — and most of the results are identical calculator widgets. So when I built Wrongulator , a calculator that returns a confidently wrong answer on purpose, I had a question worth asking: what if every expression were its own page, ranking for the exact arithmetic people already search? That is programmatic SEO — generating a page per parameter instead of writing pages by hand. And doing it across 17 languages means programmatic SEO with hreflang, where each generated page also declares its 16 translated siblings. The trap is that most programmatic surfaces are thin, duplicative, and get buried by Google. This one isn't, for a specific reason: every page has a real, unique answer baked into the HTML before any JavaScript runs. This post is about how — and the honest costs nobody mentions. Why a Permalink Per Expression Is Even Possible A page per expression only works if /2+2 reproduces the same result for everyone, forever, with no database behind it. That property isn't free — it's the result of one design decision I cover in detail in why a viral toy must be wrong the same way every time : the wrong answer is a pure function of the expression, seeded by a stable hash, with no per-user state. The relevant consequence here is what that property unlocks for SEO. Because f("2+2") always returns the same wrong answer, the server can compute that answer on demand for any expression in the URL, with zero storage. There's no pages table, no CMS, no pre-generation job. A request for /64+5 runs the engine, gets 67 ("the only correct number"), and renders a complete page around it. The programmatic surface is, in effect, infinite — but it costs nothing to hold, because nothing is stored. The pure function is what makes thousands of unique pages possible without a database. That's the foundation. Everything below is about

2026-08-05 原文 →
AI 资讯

Medir si un LLM nombra a tu empresa: por qué una captura no sirve como métrica

Cada vez más gente arranca la búsqueda de un proveedor preguntándole a un modelo en vez de a un buscador. Y no pide diez opciones para comparar: pide una recomendación y recibe dos o tres nombres. Si tu empresa no está ahí, no quedaste octava. No estás en la respuesta. La pregunta que sigue es obvia: cuánto tarda en cambiar eso. Pero antes hay un problema más aburrido y más importante, que es cómo se mide. Lo escribo porque es la parte que casi nunca se cuenta y es donde se rompen los informes. Una captura de pantalla no es una medición Es el error más común y el más difícil de discutir, porque la captura parece prueba. La respuesta de una app conversacional depende del historial de la cuenta, de la sesión, del ruteo interno del proveedor, de si esa consulta activó búsqueda web o no, y de la región desde donde se pregunta. Dos personas preguntando lo mismo el mismo día reciben respuestas distintas. La misma persona preguntando dos veces también. O sea: la salida no es determinista y el instrumento no es estable. Una captura te dice qué pasó una vez, en un contexto que no podés reconstruir. Como métrica de seguimiento no sirve para nada. Lo que sí sirve es una serie: la misma consulta, literal, contra el mismo motor, con el mismo criterio de clasificación, repetida en el tiempo. El valor absoluto de un punto importa poco. Lo que importa es la diferencia entre puntos. Fijar el texto de la consulta, no la etiqueta Este es un bug de proceso que da resultados verosímiles y falsos. Si guardás en la planilla una etiqueta como "consulta de chatbot" en vez del texto exacto que preguntaste, dentro de dos meses nadie se acuerda del wording. Y el wording cambia el resultado: preguntar "quién hace X en Argentina" y "mejores empresas de X en Argentina" devuelven listas distintas. Cuando el texto se corre entre rondas, la serie deja de ser comparable, pero el gráfico sigue dibujándose igual de lindo. Guardá el string literal, versionado. Si tenés que cambiar una consulta, empezá u

2026-08-05 原文 →
AI 资讯

SEO, AEO, GEO: A Technical Breakdown for Developers Building for Search and AI Answers

I'm a brand strategist, not a developer — but every campaign I run eventually turns into a conversation with someone's engineering team. Over the past year, that conversation has shifted. It used to be about meta tags and sitemaps. Now it's about whether a site is even readable by the models powering AI answers. Here's the technical breakdown I actually walk dev teams through. SEO (Search Engine Optimization) This is the one most engineers already know. Crawlable HTML, clean URL structure, fast Core Web Vitals, valid schema.org markup, an accurate sitemap.xml and robots.txt. The mechanics haven't changed much — what's changed is how much weight structured data carries now, because it's the same markup that AEO and GEO systems lean on. AEO (Answer Engine Optimization) This is about formatting content so it can be lifted directly into a featured snippet or a voice/chat answer. Practically, that means: a direct, self-contained answer to the implied question within the first 1-2 sentences of a section, genuine FAQ schema ( FAQPage in JSON-LD, not just visually-styled accordions), and heading structure that maps to actual questions people ask, not just keyword strings. If a section can't be understood correctly when read on its own, out of context, it won't get picked up. GEO (Generative Engine Optimization) This is the newest layer, and it's aimed at large language models rather than traditional crawlers — think AI Overviews, Perplexity, ChatGPT's browsing mode. A few things I've seen actually move the needle here: an llms.txt file at the root (still informal, not a ratified standard, but increasingly respected), consistent factual claims about an entity across every page and every third-party mention (NAP consistency isn't just a local-SEO thing anymore, it's an entity-recognition thing), and content that states things plainly rather than burying them in marketing language — generative models tend to extract and cite the most unambiguous sentence in a block, so ambigui

2026-08-05 原文 →
AI 资讯

Google vs Bing vs Brave: Do Results Match?

Key takeaways Three engines, three internets: across the searches where all three answered, Google, Bing, and Brave agreed on the #1 result only 29% of the time, and Google and Bing shared just 3 of the top 10 on average. Each engine has a personality. Bing rewards traditional publishers (Forbes appeared in 9 of 15 top-10s, PCMag in 8). Google leans on its own properties and forums (Reddit and YouTube each showed up in 57% of Google SERPs, Wikipedia in 43%). Brave is a blend of both. The platforms Google loves, Bing ignores: Reddit, YouTube, and Wikipedia appeared in 0% of the Bing top-10s we checked. If you track rankings on one engine, you are blind on the others. Cross-engine divergence is the case for multi-engine SERP monitoring — not a single Google rank check. Everyone talks about "ranking on Google." But Google is not the only place your customers search, and the other engines do not agree with it — or with each other. We ran the same 15 searches through Google, Bing, and Brave using Crawlora's search APIs and compared the top 10 results. The short version: the three engines return strikingly different pages, reward different kinds of sites, and rarely even agree on what belongs at #1. How much do the engines overlap? For each search we took the top 10 result domains from each engine and counted how many they shared. No pair shares even half its results on average, and all three engines agree on fewer than 3 of 10: Engine pair Avg shared (of 10) Overlap Google ∩ Bing 3.0 30% Google ∩ Brave 5.1 51% Bing ∩ Brave 4.0 40% All three 2.7 27% A page ranking #3 on Bing might be nowhere on Google. If your rank tracker only watches one engine, most of this picture is invisible to you. They rarely agree on #1 The single most valuable position — the #1 organic result — matched across all three engines for only 2 of the 7 searches where every engine answered (29%). Here is the real head-to-head: Search Google #1 Bing #1 Brave #1 Agree? best running shoes runrepeat.com wi

2026-08-04 原文 →
AI 资讯

I Stopped Reading About SEO and Built a Password Generator Instead

For a while, I spent more time reading about SEO than actually doing SEO. Keyword research, domain authority, backlinks, technical SEO, search intent—there was always another guide to read and another tool to try. Eventually, I decided to stop preparing and build a small website from beginning to end. The result is Get Password Generator , a free password generator that creates passwords entirely inside the browser. This is what I have learned so far. Step 1: Finding a keyword with Google Trends I started with Google Trends. Google Trends does not provide exact search volume, but it is useful for comparing keywords and checking whether people’s interest is stable, growing, or disappearing. Instead of looking for the “perfect” keyword, I wanted to find something that: solves a clear problem; can become a focused single-purpose tool; has relatively stable demand; does not require a large backend; can be shipped quickly. A password generator matched those requirements. People already understand what the tool should do, and there is no complicated onboarding process. They open the page, choose their settings, generate a password, and copy it. Step 2: Checking the actual Google results After looking at trends, I searched the keyword directly on Google and examined the first page. This step was more useful than looking at a single difficulty score. I checked: what kinds of pages were ranking; whether the results were tools, articles, or product pages; how quickly users could access the generator; whether the pages worked well on mobile; how clearly they explained privacy and security; whether there was room for a simpler experience. I was not trying to prove that the keyword was “easy.” Search results can change, and established websites are difficult to compete with. I only wanted to answer a practical question: Is there enough room here to build something useful and learn from the process? For me, the answer was yes. Step 3: Buying the domain I purchased: https://getpas

2026-08-03 原文 →