# John Flaxman's randoms > John Flaxman's random blog about SEO, self-built tools, PHP, JavaScript and the occasional experiment. Personal blog of John Flaxman. The posts are written in Turkish and the site interface is in English. Posts are hands-on notes: SEO experiments, self-built tools and working PHP and JavaScript code. Example code is released under the MIT license unless a post says otherwise. ## About - [Contact me](https://johnflaxman.com/contact-me): How to reach John Flaxman: Telegram (@flaxizm) or email. - [About John Flaxman](https://johnflaxman.com/about-me): John Flaxman is an SEO specialist and self-taught developer who builds his own SEO tools. Background, experience and why privacy matters. ## Categories - [AI Search](https://johnflaxman.com/categories/ai-search): AI Overviews, AI crawlers and what changes for websites. (4 posts) - [Automation](https://johnflaxman.com/categories/automation): Letting scripts do the boring work. (5 posts) - [Black Hat SEO](https://johnflaxman.com/categories/black-hat-seo): How black hat tactics work, how Google catches them, and how to defend your site against them. (14 posts) - [Commandline](https://johnflaxman.com/categories/commandline): curl, grep, awk and other command line tricks. (7 posts) - [Content Strategy](https://johnflaxman.com/categories/content-strategy): Planning, writing and maintaining content that earns its place. (10 posts) - [Core Web Vitals](https://johnflaxman.com/categories/core-web-vitals): LCP, INP and CLS: what they measure and how to fix them. (3 posts) - [Crawling](https://johnflaxman.com/categories/crawling): How search engine bots discover and fetch pages. (13 posts) - [E-commerce SEO](https://johnflaxman.com/categories/e-commerce-seo): Category pages, filters, products and structured data for online shops. (4 posts) - [Indexing](https://johnflaxman.com/categories/indexing): Getting pages into the index, and keeping the wrong ones out. (9 posts) - [JavaScript](https://johnflaxman.com/categories/javascript): JavaScript for the browser, the console and Node.js. (4 posts) - [JavaScript SEO](https://johnflaxman.com/categories/javascript-seo): How Google renders JavaScript, and how to build sites it can read. (3 posts) - [Keyword Research](https://johnflaxman.com/categories/keyword-research): Finding what people search for, and why they search for it. (3 posts) - [Link Building](https://johnflaxman.com/categories/link-building): Links, anchors and authority, without the snake oil. (3 posts) - [Local SEO](https://johnflaxman.com/categories/local-seo): Google Business Profile and local search for businesses in Turkey. (1 post) - [Log Analysis](https://johnflaxman.com/categories/log-analysis): Reading server logs to see what search engine bots really do on a site. (2 posts) - [Performance](https://johnflaxman.com/categories/performance): Faster pages on real hosting: caching, compression, images and CDNs. (6 posts) - [PHP](https://johnflaxman.com/categories/php): PHP snippets, small tools and scripts. (6 posts) - [Python](https://johnflaxman.com/categories/python): Python scripts for data, SEO and automation. (14 posts) - [Redirects](https://johnflaxman.com/categories/redirects): Redirects, migrations and URL changes done right. (7 posts) - [Robots.txt](https://johnflaxman.com/categories/robots.txt): Crawl control with robots.txt and robots meta tags. (2 posts) - [Search Console](https://johnflaxman.com/categories/search-console): Getting more out of Google Search Console: reports, exports and the API. (6 posts) - [Security](https://johnflaxman.com/categories/security): Hacked sites, security warnings and getting back into Google. (5 posts) - [SEO](https://johnflaxman.com/categories/seo): Notes on search engine optimization: what works, what does not, and why. (22 posts) - [Site Architecture](https://johnflaxman.com/categories/site-architecture): URL structure, internal links, canonicals and crawl control. (4 posts) - [Site Migration](https://johnflaxman.com/categories/site-migration): Domain changes, redesigns and platform moves without losing traffic. (2 posts) - [Sitemaps](https://johnflaxman.com/categories/sitemaps): XML sitemaps, feeds and URL discovery. (4 posts) - [Structured Data](https://johnflaxman.com/categories/structured-data): Schema.org, JSON-LD and rich results. (8 posts) - [Technical SEO](https://johnflaxman.com/categories/technical-seo): Site architecture, rendering, performance and everything under the hood. (30 posts) - [Tools](https://johnflaxman.com/categories/tools): Self-built tools and the thinking behind them. (14 posts) ## Posts - [Black hat SEO 2026'da işe yarıyor mu? Spam politikaları haritası](https://johnflaxman.com/black-hat-seo-2026): Google'ın tüm spam politikalarının Türkçe haritası: her taktiğin anlamı, tipik cezası ve 2026'da neden en iyi ihtimalle kısa ömürlü olduğu. (2026-09-25, Black Hat SEO, SEO) - [Cloaking nasıl çalışır ve nasıl tespit edilir?](https://johnflaxman.com/cloaking-tespit): Cloaking ve sinsi yönlendirmeler nedir, hangi farklar cloaking sayılmaz, curl ve URL Denetimi ile kendi sitenizde nasıl tespit edersiniz? (2026-09-25, Black Hat SEO, Security, Technical SEO) - [PBN'ler neden ölüyor? Ele veren izler ve satın alınan linkler](https://johnflaxman.com/pbn-neden-oluyor): Özel blog ağları (PBN) neden çöküyor, Google ve rakipler hangi izleri görüyor, PBN linki aldıysanız profilinizi nasıl denetler ve temizlersiniz? (2026-09-25, Black Hat SEO, Link Building) - [Site reputation abuse (parazit SEO): kiralık klasörlerin riski](https://johnflaxman.com/site-reputation-abuse-parazit-seo): Parazit SEO ve site reputation abuse nedir, Google'ın 2024 politikası neyi kapsıyor, klasör kiralama teklifi alan yayıncılar neden dikkatli olmalı? (2026-09-25, Black Hat SEO, Content Strategy, SEO) - [Süresi dolmuş domain istismarı: almadan önce geçmiş kontrolü](https://johnflaxman.com/expired-domain-istismari): Expired domain abuse nedir, Google neden ceza sebebi sayıyor, hangi kullanım sorunsuz ve bir alan adını almadan önce geçmişini adım adım nasıl kontrol edersin. (2026-09-25, Black Hat SEO, SEO) - [Devlet ve üniversite sitelerinde bahis spam'i: ne yapmalı?](https://johnflaxman.com/gov-edu-bahis-spami): gov.tr ve edu.tr alan adlarında görülen bahis ve deneme bonusu spam'i nasıl sızıyor, neden bu siteler hedef ve kurumun BT ekibi temizlik için ne yapmalı. (2026-09-25, Black Hat SEO, Security) - [Sitende gizli bahis ve casino linki var mı? Kendi siteni tara](https://johnflaxman.com/gizli-bahis-linki-tespiti): Hacklenen sitelere enjekte edilen gizli bahis ve casino linkleri nasıl görünür; curl, grep, WP-CLI ve Python betiğiyle kendi sitende bulup temizlemenin yolu. (2026-09-25, Black Hat SEO, Security, Tools) - [Negatif SEO: rakip spam link basarsa ne olur, disavow ne zaman?](https://johnflaxman.com/negatif-seo-spam-link): Negatif SEO gerçekte ne kadar tehlikeli? Spam linkler, sahte yorumlar, kopyalama ve bot yükü; disavow ne zaman gerekir, ne zaman zarar verir. (2026-09-25, Black Hat SEO, Link Building) - [Manuel işlem aldım: her ceza türü ve yeniden inceleme talebi](https://johnflaxman.com/manuel-islem-geri-donus): Search Console manuel işlem türlerinin Türkçe açıklaması, her birini tetikleyen şey, nasıl düzeltileceği ve işe yarayan bir yeniden inceleme talebi örneği. (2026-09-25, Black Hat SEO, Search Console) - [İçeriğin çalındı ve senden üstte çıkıyor: scraper tespiti ve DMCA](https://johnflaxman.com/icerik-kaziyici-scraper): Yazılarını kopyalayan scraper siteleri bulmak, neden bazen senden üstte çıktıklarını anlamak ve canonical, RSS, Cloudflare ve DMCA ile savunmak. (2026-09-25, Black Hat SEO, Content Strategy) - [Rakip black hat mi yapıyor? Site incelemek için kontrol listesi](https://johnflaxman.com/rakip-black-hat-inceleme): Şüpheli biçimde üstte çıkan bir rakibi incelemek için kontrol listesi: backlink desenleri, gizli metin, doorway, cloaking, domain geçmişi ve spam bildirimi. (2026-09-25, Black Hat SEO, SEO, Tools) - [CTR manipülasyonu ve tıklama botları: efsane mi, gerçek mi?](https://johnflaxman.com/ctr-manipulasyonu-tiklama-botu): Tıklama botları sıralama getirir mi? Navboost, Google'ın machine-generated traffic politikası, kirlenen veri ve kalıcı yol: niyete uyan title ve snippet. (2026-09-25, Black Hat SEO, Python, SEO) - [Scaled content abuse: yapay zekâyla toplu içerikte çizgi nerede?](https://johnflaxman.com/scaled-content-abuse): Google'ın scaled content abuse politikası neyi yasaklıyor, meşru programatik SEO ile spam arasındaki çizgi nerede, siten risk altında mı? Kontrol listesi. (2026-09-25, AI Search, Black Hat SEO, Content Strategy) - [Yapılandırılmış veri spam'i: sahte yıldız, FAQ ve manuel işlem](https://johnflaxman.com/yapilandirilmis-veri-spami): Sahte yıldızlar, görünmeyen içeriğe schema, yanlış Event ve fiyat verisi: spammy structured markup manuel işlemi nedir, nasıl denetlenir, nasıl düzeltilir? (2026-09-25, Black Hat SEO, Python, Structured Data) - [Tarandı, şu anda dizine eklenmedi: gerçek sebepler ve çözümler](https://johnflaxman.com/taranmis-dizine-eklenmedi): Search Console'daki "Tarandı - şu anda dizine eklenmemiş" durumunun gerçek sebepleri, nasıl teşhis edileceği, neyin düzeltileceği ve ne zaman bekleneceği. (2026-09-25, Sitemaps, Structured Data) - [Search Console'daki her dizine ekleme durumunun Türkçe anlamı](https://johnflaxman.com/search-console-dizine-ekleme-durumlari): Search Console sayfa dizine ekleme raporundaki tüm durumlar (404, soft 404, noindex, canonical, 5xx ve diğerleri): anlamı, sorun olup olmadığı, ne yapmalı. (2026-09-25, Indexing, Search Console, Technical SEO) - [Sunucu logları ile SEO: cPanel loglarında Googlebot analizi](https://johnflaxman.com/cpanel-log-googlebot-analizi): cPanel ham erişim loglarını indirip Googlebot satırlarını ayıklamak, gerçek Googlebot'u DNS ile doğrulamak ve durum kodu, URL ve gün bazında analiz yapmak. (2026-09-25, Crawling, Log Analysis, Technical SEO) - [Crawl budget gerçekten sorun mu? Hangi sitede önemli, nasıl ölçülür](https://johnflaxman.com/crawl-budget-gercekten-sorun-mu): Crawl budget hangi sitede gerçek sorun, hangisinde efsane? Tarama kapasitesi ve talebi, ölçüm yolları, israf kaynakları ve site büyüklüğüne göre karar tablosu. (2026-09-25, Crawling, Technical SEO) - [Google'ın hiç ziyaret etmediği sayfaları loglarla bulmak](https://johnflaxman.com/googlebot-ziyaret-etmeyen-sayfalar): Sitemap'teki URL'leri 30-90 günlük sunucu loglarıyla karşılaştırıp Googlebot'un hiç taramadığı ve sitemap dışında taradığı sayfaları Python ile bulmak. (2026-09-25, Crawling, Log Analysis, Python, Technical SEO) - [Canonical, noindex ve robots.txt ne zaman kullanılır? (karar tablosu)](https://johnflaxman.com/canonical-noindex-robots-txt): Canonical, noindex ve robots.txt farklı aşamalarda çalışır. Tarama, dizine ekleme ve birleştirme farkını, yanlış kombinasyonları ve karar tablosunu anlatıyorum. (2026-09-25, Indexing, Site Architecture, Technical SEO) - [Filtreli kategori sayfalarında hangi kombinasyon dizine girmeli?](https://johnflaxman.com/filtreli-kategori-sayfalari): Filtreli navigasyonda hangi renk, marka ve beden kombinasyonları dizine girmeli? Kural seti, URL yapısı, parametre sırası, crawl tuzakları ve karar tablosu. (2026-09-25, E-commerce SEO, Site Architecture, Technical SEO) - [İç linkleme stratejisi ile önemli sayfaya güç aktarmak](https://johnflaxman.com/ic-linkleme-stratejisi): İç linkler önemi nasıl aktarır? Tıklama derinliği, hub sayfalar, anchor text, yetim sayfalar, derinlik ölçen Python betiği ve aylık iç link rutini. (2026-09-25, Python, Site Architecture, Technical SEO) - [Site taşıma kontrol listesi: öncesi, taşıma günü ve sonrası](https://johnflaxman.com/site-tasima-kontrol-listesi): Site taşımada trafik kaybetmemek için üç aşamalı kontrol listesi: tarama, yönlendirme haritası, staging, yayın günü kontrolleri ve sonrasında izleme. (2026-09-25, Redirects, Site Migration, Technical SEO) - [Domain değişikliğinde trafik kaybetmemek](https://johnflaxman.com/domain-degisikligi-trafik-kaybi): Domain değiştirirken sayfa bazında 301, Search Console Adres değişikliği aracı, eski domaini koruma ve beklenen dalgalanma hakkında pratik rehber. (2026-09-25, Redirects, Site Migration) - [HTTP'den HTTPS'e, www'dan www'suza: doğru yönlendirme](https://johnflaxman.com/https-www-yonlendirme): Tek bir canonical host seçip HTTP, HTTPS, www ve www'suz varyasyonları tek adımlı 301 ile birleştirmek: Apache, nginx, curl testi ve HSTS. (2026-09-25, Redirects, Technical SEO) - [Googlebot JavaScript'i nasıl işliyor?](https://johnflaxman.com/googlebot-javascript-isleme): Googlebot'un tarama, render ve dizine ekleme adımları, JavaScript'te yapmadığı şeyler, SPA durum kodları ve rendered HTML'i URL Denetimi ile test etmek. (2026-09-25, JavaScript SEO, Technical SEO) - [React ve Vue sitelerinde SEO: SSR, SSG ve prerender](https://johnflaxman.com/react-vue-seo-ssr-ssg): CSR, SSR, SSG, ISR ve prerender farkları; Next.js, Nuxt, Astro ve SvelteKit seçenekleri, hydration maliyeti, INP ve site türüne göre karar tablosu. (2026-09-25, JavaScript SEO, Technical SEO) - [Render farkını test etmek: kaynak kod ve DOM karşılaştırması](https://johnflaxman.com/render-farki-testi): Ham HTML ile render edilmiş DOM'u curl, Chrome DevTools, URL Denetimi ve Puppeteer betiğiyle karşılaştırıp title, canonical ve içerik farklarını bulmak. (2026-09-25, JavaScript SEO, Tools) - [INP nasıl düzeltilir? Etkileşim gecikmesinin sebepleri ve çözümleri](https://johnflaxman.com/inp-duzeltmek): INP neyi ölçer, yavaş etkileşimler nasıl bulunur, uzun görevler nasıl bölünür? web-vitals kütüphanesi ve scheduler.yield() ile pratik rehber. (2026-09-25, Core Web Vitals, Performance) - [LCP'yi 2,5 saniyenin altına indirmek](https://johnflaxman.com/lcp-iyilestirme): LCP elemanını bulmak, dört alt parçayı ölçmek ve hero görseli, TTFB, fontlar ve render engelleyen CSS ile LCP'yi 2,5 saniyenin altına indirmek. (2026-09-25, Core Web Vitals, Performance) - [Sayfa kayması (CLS) nasıl sıfırlanır?](https://johnflaxman.com/cls-sayfa-kaymasi): CLS neyi sayar, hangi kaymalar hariç tutulur, kaymaya yol açan elemanlar nasıl bulunur? Görsel, reklam, çerez bandı ve font kaynaklı kaymaları düzeltin. (2026-09-25, Core Web Vitals, Performance) - [Paylaşımlı hostingte hızlı site için önbellek ve sıkıştırma](https://johnflaxman.com/paylasimli-hosting-hiz): cPanel'li paylaşımlı hostingte PHP sürümü, OPcache, sayfa önbelleği, .htaccess ile sıkıştırma ve tarayıcı önbelleği ayarları, curl ile TTFB ölçümü. (2026-09-25, Performance, Technical SEO) - [SEO'ya zarar vermeden Cloudflare ile hızlanmak](https://johnflaxman.com/cloudflare-seo-ayarlari): Cloudflare'de hangi ayarlar siteyi hızlandırır, hangileri script'leri bozar veya Googlebot'u engeller? Önbellek, güvenlik ve AI bot ayarları için pratik rehber. (2026-09-25, Performance, Technical SEO) - [WebP, AVIF ve lazy load ile görsel optimizasyonu](https://johnflaxman.com/gorsel-optimizasyonu-webp-avif): WebP, AVIF ve JPEG karşılaştırması, picture ile yedekli sunum, srcset ve sizes, doğru lazy load kullanımı, komut satırında dönüştürme ve görsel SEO'su. (2026-09-25, Performance, Technical SEO) - [Core güncellemesinden sonra düşüş analizi: adım adım yöntem](https://johnflaxman.com/core-guncelleme-dusus-analizi): Core güncellemesinden sonra trafik düşünce zamanlamayı doğrulamak, eşit dönemleri karşılaştırmak, sayfa ve sorgu bazında segmentlemek ve doğru teşhis koymak. (2026-09-25, Search Console, SEO) - [Search Console API ile veriyi her gün yedeklemek](https://johnflaxman.com/search-console-api-yedek): Search Console verisi 16 ay sonra silinir, arayüz 1000 satır gösterir. Servis hesabı ve Python ile performans verisini her gün SQLite'a yedekleme. (2026-09-25, Python, Search Console, Tools) - [Performans raporundaki gizli fırsatlar (4-15. sıradaki sorgular)](https://johnflaxman.com/search-console-gizli-firsatlar): Search Console'da ortalama pozisyonu 4-15 arası, gösterimi yüksek sorguları bulma, düşük TO analizi, sayfa iyileştirme ve öncesi-sonrası ölçüm yöntemi. (2026-09-25, Search Console, SEO) - [Sıfırdan rank tracker: Search Console API ve SQLite ile](https://johnflaxman.com/sifirdan-rank-tracker): Google'ı kazımadan, Search Console API verisiyle günlük pozisyon kaydeden ve haftalık en büyük hareketleri raporlayan Python rank tracker kurulumu. (2026-09-25, Python, Tools) - [Toplu title ve description denetimi için Python betiği](https://johnflaxman.com/toplu-title-description-denetimi): Sitemap'teki tüm URL'lerin title ve meta description etiketlerini çeken, eksik, uzun, kısa ve tekrar edenleri işaretleyip CSV'ye yazan Python betiği. (2026-09-25, Python, Tools) - [Rakip sitemap izleyici: rakip her gün ne yayınlıyor?](https://johnflaxman.com/rakip-sitemap-izleyici): Rakibin herkese açık sitemap'ini her gün okuyan, yeni ve silinen URL'leri ve lastmod değişikliklerini raporlayan PHP 8 CLI betiği ve cron kurulumu. (2026-09-25, PHP, Tools) - [Hangi schema türü gerçekten zengin sonuç getiriyor? (2026)](https://johnflaxman.com/zengin-sonuc-schema-turleri): 2026 itibarıyla hangi yapılandırılmış veri türleri Google'da hâlâ zengin sonuç üretiyor, hangileri kaldırıldı ya da kısıtlandı? Tablo ve pratik öneriler. (2026-09-25, Structured Data) - [Organization ve Person schema: marka ve yazar kimliği](https://johnflaxman.com/organization-person-schema): Ana sayfada Organization, yazar sayfasında ProfilePage ve Person, makalede @id ile yazar bağlantısı. @graph kullanan JSON-LD örnekleri ve dikkat edilecekler. (2026-09-25, Content Strategy, Structured Data) - [Ürün ve inceleme schema'sında sık yapılan hatalar](https://johnflaxman.com/urun-inceleme-schema-hatalari): Fiyat ve stok uyumsuzluğu, yanlış para birimi, görünmeyen puanlar, çakışan Product blokları ve varyantlar. Ürün schema hataları ve doğru JSON-LD örneği. (2026-09-25, E-commerce SEO, Structured Data) - [AI Overviews'ta alıntılanan sayfaların ortak özellikleri](https://johnflaxman.com/ai-overviews-alinti): AI Overviews'ta kaynak olarak gösterilen sayfalarda ne ortak? Google'ın belgeleri, snippet kontrolleri ve Search Console'da ölçüm üzerine pratik notlar. (2026-09-25, AI Search, SEO) - [Yapay zekâyla içerik: Google'ın tutumu ve kaliteli kullanım](https://johnflaxman.com/yapay-zeka-icerik-google): Google yapay zekâyla yazılan içeriğe ne diyor, scaled content abuse nedir? İnsan kontrollü bir editoryal akış ve Türkçe metinlerde sık görülen hatalar. (2026-09-25, AI Search, Content Strategy) - [llms.txt ve yapay zekâ botlarını (GPTBot, ClaudeBot) yönetmek](https://johnflaxman.com/llms-txt-yapay-zeka-botlari): llms.txt ne işe yarar, gerçekten okunuyor mu? GPTBot, ClaudeBot ve diğer yapay zekâ botlarını robots.txt ile ayırmak ve loglarda bulmak. (2026-09-25, AI Search, Technical SEO) - [E-E-A-T pratikte: yazar sayfası, kaynak, deneyim kanıtı](https://johnflaxman.com/eeat-pratikte): E-E-A-T bir sıralama puanı değil ama sayfada nasıl görüneceği belli. Yazar sayfası, kaynak gösterme, deneyim kanıtı ve YMYL için pratik kontrol listesi. (2026-09-25, Content Strategy, SEO) - [Eski içerikleri güncellemek: ne zaman, nasıl?](https://johnflaxman.com/eski-icerik-guncelleme): Trafiği düşen eski yazıları Search Console ile bulmak ve her sayfa için karar vermek: güncelle, birleştir, bırak ya da kaldır. Gerçek güncelleme nedir? (2026-09-25, Content Strategy, SEO) - [Konu kümeleri (topic cluster) ile otorite kurmak](https://johnflaxman.com/konu-kumeleri-topic-cluster): Pillar ve cluster modeli nasıl kurulur? Konu haritası çıkarmak, yamyamlığı önlemek, doğru iç link yapısı ve konu kapsamını ölçmek için örnek bir küme. (2026-09-25, Content Strategy, Site Architecture) - [Ücretli araç olmadan anahtar kelime araştırması](https://johnflaxman.com/ucretsiz-anahtar-kelime-arastirmasi): Google önerileri, Search Console, Trends, Keyword Planner ve forumlarla ücretsiz anahtar kelime araştırması; öneri toplayan Python betiği ve önceliklendirme. (2026-09-25, Keyword Research, Python) - [Arama niyetini doğru okumak: SERP'e bakarak karar vermek](https://johnflaxman.com/arama-niyeti): Bilgi, yön bulma, karşılaştırma, satın alma ve yerel niyet; SERP'i okuyarak doğru içerik türünü seçmek ve karışık niyetli sorguları yönetmek. (2026-09-25, Content Strategy, Keyword Research) - [Türkçe aramalara özel tuzaklar: ekler, çoğul ve yazım farkları](https://johnflaxman.com/turkce-arama-tuzaklari): Türkçe sorgularda ekler, tekil-çoğul farkı, ş/s ve ı/i yazımı, kesme işareti, bitişik yazım, İ/i küçük harf hataları ve Türkçe karakterli slug oluşturma. (2026-09-25, Keyword Research, SEO) - [Google İşletme Profili ile Türkiye'de yerel SEO](https://johnflaxman.com/google-isletme-profili-yerel-seo): Google İşletme Profili için birincil kategori, NAP tutarlılığı, doğrulama, fotoğraflar, yorumlar, hizmet bölgesi, LocalBusiness schema ve şehir sayfaları. (2026-09-25, Local SEO, Structured Data) - [E-ticaret kategori sayfaları için içerik ve yapı rehberi](https://johnflaxman.com/eticaret-kategori-sayfalari): Kategori sayfası e-ticaretin asıl sıralanan sayfasıdır. Giriş metni, satın alma rehberi, alt kategori linkleri, sayfalama, boş ve sezonluk kategoriler. (2026-09-25, Content Strategy, E-commerce SEO) - [Ürün sayfası SEO'su ve stokta olmayan ürünler ne olacak?](https://johnflaxman.com/stokta-olmayan-urunler): Stokta olmayan ürün sayfası kaldırılmalı mı? Geçici ve kalıcı stok durumları, Product schema availability, 301, 404/410, soft 404 riski ve karar tablosu. (2026-09-25, E-commerce SEO, Structured Data) - [WordPress hacklendi: SEO açısından temizlik ve Google'a dönüş](https://johnflaxman.com/wordpress-hack-temizlik-seo): Hacklenen WordPress sitesinde Japonca spam, cloaking ve arka kapıları bulup temizlemek, spam URL'leri kaldırmak ve Search Console'da inceleme istemek. (2026-09-25, Security, SEO) - [Search Console'da "Güvenlik sorunları" uyarısı: ne yapmalı?](https://johnflaxman.com/search-console-guvenlik-sorunlari): Search Console Güvenlik sorunları raporundaki uyarı türleri, tarayıcı uyarıları, her tür için yapılacaklar ve inceleme isteğinin nasıl yazılacağı. (2026-09-25, Search Console, Security) - [Statik sitelerde IndexNow gönderimini otomatikleştirmek](https://johnflaxman.com/indexnow-otomatik-gonderim): IndexNow ile değişen URL'leri Bing ve Yandex'e otomatik bildirmek: anahtar dosyası, sitemap'ten URL toplama ve küçük bir PHP betiği. (2026-09-10, Automation, Indexing, PHP, Sitemaps) - [CMS taşımasından sonra kaybolan URL'leri curl ile bulmak](https://johnflaxman.com/cms-tasima-kayip-url): Site taşımasından sonra eskiden çalışan ama artık 404 veren önemli URL'leri Wayback Machine ve tek satırlık bir curl komutuyla bulmak. (2026-05-18, Commandline, Crawling, Redirects, Technical SEO) - [robots.txt kurallarını Python ile test etmek](https://johnflaxman.com/robots-txt-python-test): Python'un urllib.robotparser modülüyle robots.txt kurallarını toplu test etmek ve Google'ın ayrıştırıcısından farklı davrandığı noktalar. (2026-02-08, Crawling, Python, Robots.txt) - [Büyük sitelerde sitemap index: 50.000 URL sınırını aşmak](https://johnflaxman.com/sitemap-index-buyuk-site): Tek sitemap dosyasının 50.000 URL sınırını aşan siteler için PHP ile bölünmüş sitemap'ler ve sitemap index üretmek. (2025-11-16, Indexing, PHP, Sitemaps) - [robots.txt dosyasına yorum yazmak: tarayıcılar neyi görmezden gelir?](https://johnflaxman.com/robots-txt-yorumlar): robots.txt içinde # ile başlayan satırlar, bilinmeyen alanlar ve boşluklar nasıl işlenir? Google'ın açık kaynak ayrıştırıcısıyla küçük bir deney. (2025-11-02, Crawling, Robots.txt, SEO) - [Yönlendirme zincirlerini tek komutla bulmak](https://johnflaxman.com/yonlendirme-zinciri-bulmak): Bir URL listesindeki 301/302 zincirlerini ve döngülerini curl ile bulup her adresin son hedefini raporlayan bash betiği. (2025-09-21, Commandline, Redirects, Technical SEO) - [Soft 404'leri komut satırından bulmak](https://johnflaxman.com/soft-404-bulmak): 200 dönen ama aslında "bulunamadı" sayfası olan URL'leri curl, kelime sayısı ve başlık kontrolüyle yakalamak. (2025-08-03, Commandline, Indexing, Technical SEO) - [Tarayıcı konsolunda canonical, hreflang ve robots etiketlerini tek seferde görmek](https://johnflaxman.com/konsolda-seo-etiketleri): Herhangi bir sayfanın canonical, hreflang, meta robots ve başlık etiketlerini tarayıcı konsoluna yapıştırılan küçük bir JavaScript parçasıyla listelemek. (2025-06-21, JavaScript, Technical SEO, Tools) - [CrUX API ile gerçek kullanıcı Core Web Vitals verisini çekmek](https://johnflaxman.com/crux-api-core-web-vitals): Chrome UX Report (CrUX) API ile bir URL ya da alan adının gerçek kullanıcılardan gelen LCP, INP ve CLS değerlerini çekmek. (2025-06-01, JavaScript, Technical SEO, Tools) - [hreflang hatalarını Python ile denetlemek](https://johnflaxman.com/hreflang-denetimi-python): Çok dilli sitelerde karşılıklı olmayan hreflang bağlantılarını, eksik x-default'u ve yanlış dil kodlarını bulan küçük bir Python betiği. (2025-04-12, Crawling, Python, Technical SEO) - [Bir sitenin iç bağlantı sayılarını komut satırından çıkarmak](https://johnflaxman.com/ic-baglanti-sayimi): wget ile siteyi tarayıp her sayfanın kaç iç bağlantı aldığını awk ile saymak ve hiç bağlantı almayan yetim sayfaları bulmak. (2025-02-23, Commandline, Crawling, Technical SEO) - [PHP ile 50 satırda sitemap.xml üreticisi](https://johnflaxman.com/php-sitemap-ureticisi): Veritabanındaki sayfalardan geçerli bir sitemap.xml üreten, lastmod değerlerini doğru veren ve 50.000 URL sınırına dikkat eden küçük bir PHP betiği. (2024-12-08, Indexing, PHP, Sitemaps) - [Search Console API ile tüm sorguları CSV'ye indirmek](https://johnflaxman.com/search-console-api-csv): Search Console arayüzündeki 1.000 satır sınırına takılmadan tüm sorgu ve sayfa verisini Python ile CSV olarak indirmek. (2024-10-27, Automation, Python, SEO) - [PHP ile Last-Modified ve 304 Not Modified desteği](https://johnflaxman.com/php-last-modified-304): Dinamik PHP sayfalarında Last-Modified ve ETag başlıklarıyla koşullu istekleri desteklemek ve değişmeyen sayfalar için 304 döndürmek. (2024-08-11, Crawling, PHP, Technical SEO) - [Sunucu loglarından gerçek Googlebot ziyaretlerini ayıklamak](https://johnflaxman.com/loglardan-googlebot): Erişim loglarında Googlebot gibi görünen sahte botları ters DNS doğrulamasıyla ayıklamak ve en çok taranan URL'leri çıkarmak. (2024-06-15, Commandline, Crawling, Technical SEO) - [Sayfalama ve SEO: rel=next gitti, geriye ne kaldı?](https://johnflaxman.com/sayfalama-seo): Google'ın rel=next/prev kullanmadığını açıklamasından sonra sayfalanmış kategori ve arşivlerde canonical, noindex ve iç bağlantılar için doğru yaklaşım. (2024-03-03, Indexing, SEO, Technical SEO) - [.htaccess ile 301 yönlendirme kalıpları](https://johnflaxman.com/htaccess-301-kaliplari): Apache .htaccess ile en sık ihtiyaç duyulan 301 yönlendirmeler: tek sayfa, klasör taşıma, parametre temizleme, www ve https. (2023-11-19, Redirects, Technical SEO) - [Görsel SEO: dosya adı, alt metin ve WebP](https://johnflaxman.com/gorsel-seo-webp): Görsellerin arama sonuçlarında görünmesi ve sayfayı yavaşlatmaması için dosya adı, alt metin, boyut, WebP ve lazy loading kontrol listesi. (2023-09-10, Commandline, SEO, Technical SEO) - [wget ile bir sitenin bütün URL'lerini listelemek](https://johnflaxman.com/wget-url-listesi): Tarama aracı kurmadan, wget'in spider modu ile bir sitedeki tüm dahili URL'leri ve kırık bağlantıları listelemek. (2023-07-02, Commandline, Crawling, Tools) - [Neden kendi rank takip aracımı yazdım](https://johnflaxman.com/kendi-rank-takip-aracim): Ücretli rank takip araçları yerine neden kendi aracımı yazdım: maliyet, veri gizliliği, esneklik ve Python ile basit bir başlangıç. (2023-03-14, Automation, Python, SEO, Tools) - [URL Inspection API ile dizin durumunu toplu kontrol etmek](https://johnflaxman.com/url-inspection-api): Search Console URL Inspection API ile sayfaların dizine eklenip eklenmediğini, son tarama tarihini ve Google'ın seçtiği canonical'ı Python ile toplu sorgulamak. (2023-01-29, Automation, Indexing, Python) - [Canonical ve noindex'i aynı sayfada kullanmak neden kötü fikir](https://johnflaxman.com/canonical-ve-noindex): Bir sayfada hem canonical hem noindex kullanmak arama motoruna çelişkili sinyal verir. Hangi durumda hangisini seçmelisin? (2022-12-04, Indexing, SEO) - [LCP görselini hızlandırmak: preload ve fetchpriority](https://johnflaxman.com/lcp-gorsel-hizlandirma): Largest Contentful Paint görselini öne almak için fetchpriority, preload ve lazy loading'i doğru kullanmak. (2022-05-22, JavaScript, Technical SEO) - [Shingle yöntemiyle kopya içeriği bulmak](https://johnflaxman.com/shingle-kopya-icerik): Metinleri kelime gruplarına (shingle) bölüp Jaccard benzerliğiyle karşılaştırarak sitedeki neredeyse aynı sayfaları bulan Python betiği. (2022-03-20, Python, SEO, Tools) - [nofollow, sponsored ve ugc: hangisi ne zaman?](https://johnflaxman.com/nofollow-sponsored-ugc): rel="nofollow", rel="sponsored" ve rel="ugc" arasındaki fark, doğru kullanım örnekleri ve birlikte kullanmak. (2021-09-12, Link Building, SEO) - [Güvenlik başlıkları ve SEO: HTTPS'ten sonraki adım](https://johnflaxman.com/guvenlik-basliklari-seo): HSTS, X-Content-Type-Options, Referrer-Policy gibi güvenlik başlıklarını .htaccess ile eklemek ve SEO'ya dolaylı etkileri. (2021-06-27, Redirects, Technical SEO) - [PHP ile paralel çalışan küçük bir kırık link tarayıcısı](https://johnflaxman.com/php-kirik-link-tarayici): curl_multi ile aynı anda onlarca URL'yi kontrol eden, yönlendirme ve 4xx/5xx hatalarını raporlayan PHP betiği. (2021-03-07, Crawling, PHP, Tools) - [Google Sheets'te IMPORTXML ile title ve description çekmek](https://johnflaxman.com/sheets-importxml-seo): Google Sheets'in IMPORTXML fonksiyonuyla bir URL listesinin title, meta description, h1 ve canonical değerlerini tablo olarak çekmek. (2020-08-16, SEO, Tools) - [Puppeteer ile sayfanın mobilde nasıl göründüğünü kontrol etmek](https://johnflaxman.com/puppeteer-mobil-kontrol): Node.js ve Puppeteer ile sayfaları mobil ekranda açıp ekran görüntüsü almak, JavaScript sonrası başlık, canonical ve bağlantı sayısını karşılaştırmak. (2020-04-19, Automation, Crawling, JavaScript) - [JSON-LD ile Article yapılandırılmış verisi: en az ne gerekli?](https://johnflaxman.com/json-ld-article-minimum): Blog yazıları için JSON-LD Article/BlogPosting işaretlemesinde gerçekten gerekli alanlar ve sık yapılan hatalar. (2019-11-24, SEO, Structured Data) ## Optional - [Google Search updates](https://johnflaxman.com/updates): Live list of Google core, spam and ranking updates with dates and durations - [RSS feed](https://johnflaxman.com/feed.xml): The 20 newest posts with full content - [Sitemap](https://johnflaxman.com/sitemap.xml): Every public URL with its last update date