GitLab CI kullanarak web projelerinde sitemap ve robots.txt dosyalarının doğruluğunu otomatik test etmek, hem SEO açısından hem de site güvenliği ve performansı için kritik hale geldi. Bu süreç, manuel kontrollerin ötesine geçerek sürekli entegrasyon ortamında hataları erken aşamada yakalamaya olanak tanır.
İlk adımda, sitemap ve robots.txt dosyalarının temel amaçlarını anlamak gerekir. Sitemap, arama motorlarına sitenin yapısını anlatan XML dosyasıdır ve sayfa indeksleme sürecini kolaylaştırır. Robots.txt ise, arama motoru botlarının hangi sayfalara erişebileceğini veya engelleneceğini belirten metin dosyasıdır. Her iki dosyada da yapılan küçük hatalar, SEO performansını ciddi şekilde olumsuz etkileyebilir.
Testler, genellikle
otomatik validasyon araçları veya
kendi scriptleriniz kullanılarak yapılabilir. Örneğin, sitemap.xml’in doğru XML formatında olup olmadığını
XML doğrulama araçlarıyla kontrol edebilirsiniz. Ayrıca, sitemap içeriğinde yer alan URL’lerin erişilebilirliği ve 404 hatası vermemesi için
HTTP istekleri gönderen betikler yazılabilir.
Robots.txt dosyası için ise, içerik doğruluğu ve erişim kurallarını test etmek önemli. Örneğin,
curl veya
wget kullanarak, belirli botların erişim izinlerini kontrol edebilirsiniz. Ayrıca, robots.txt içeriğinde yanlışlıkla tüm siteyi engelleyecek kurallar veya hatalar olup olmadığını düzenli olarak kontrol etmek gerekir.
GitLab CI pipeline’larına bu testleri entegre etmek, sadece hataları erken fark etmenize değil, aynı zamanda sürekli güncelleme ve iyileştirme imkanı sağlar. Birkaç örnek adımda, pipeline yapılandırmasında
script bölümlerine uygun doğrulama komutları eklenebilir. Örneğin:
1234567891011121314151617181920
test_sitemap:
script:
[list]
[*]curl -s --fail https://siteniz.com/sitemap.xml | xmllint --noout -
[/list]
only:
[list]
[*]master
[/list]
test_robots:
script:
[list]
[*]curl -s --fail https://siteniz.com/robots.txt | grep -E 'Disallow|Allow'
[/list]
only:
[list]
[*]master
[/list]
Bu sayede, hatalı sitemap veya robots.txt dosyası, kodun ana dalına geçmeden tespit edilip düzeltilir. Peki, sizin bu konuda karşılaştığınız en büyük zorluklar veya eklemek istediğiniz başka testler var mı?