Sorunsuz Bağlantı Yönetimi için Deadfinder ve GitHub Eylemlerini Kullanma
Ölü bağlantı veya bozuk bağlantı, bir köprünün kaldırılmış veya artık mevcut olmayan bir web sayfasına işaret etmesi durumunda ortaya çıkar. Bu ölü bağlantılar, rahatsızlık vermenin ötesinde, kullanıcı deneyimini önemli ölçüde bozabilir, web sitenizin SEO’suna zarar verebilir ve güvenlik açıklarına neden olabilir. Örneğin:
- Kimlik Avı Riskleri: Bir alan adının süresi dolduğunda, meşru bir site bekleyen kullanıcılardan hassas bilgileri yakalamak için sahte sayfalar oluşturabilecek kötü niyetli kişiler tarafından satın alınabilir.
- Kötü Amaçlı Yazılım Dağıtımı: Bazen, bağlantılı bir kaynak kaldırılırsa, benzer adlı kötü amaçlı bir site onun yerini alabilir ve potansiyel olarak şüphelenmeyen ziyaretçilerin kötü amaçlı yazılım indirmesine yol açabilir.
- Güven Kaybı: Ölü bağlantılarla sık sık karşılaşılması, kullanıcının içeriğinize olan güvenini azaltabilir, bu da saldırganların kullanıcıları zararlı alternatiflere çekmek için kullanabileceği ihmal veya güncel olmayan bilgileri akla getirebilir.
Bu nedenle, bağlantı bütünlüğünü korumak yalnızca sitenizin profesyonelliğini ve kullanılabilirliğini korumakla kalmaz, aynı zamanda ziyaretçilerinizi potansiyel güvenlik tehditlerinden korumada da kritik bir rol oynar.
Deadfinder nedir?
Deadfinder, web yöneticilerinin ve blog yazarlarının ölü bağlantıları bularak sitelerinin bütünlüğünü korumalarına yardımcı olmak için tasarlanmış çok yönlü bir araçtır. Bu arada, bu araç benim tarafımdan kendi web sitemi yönetmek için oluşturuldu.
Deadfinder, GitHub Actions’ı destekleyerek aşağıdaki iş akışı koduyla kolayca çalıştırmanıza olanak tanır:
steps:
- name: Run DeadFinder
uses: hahwul/[email protected]
# or uses: hahwul/deadfinder@latest
id: broken-link
with:
command: sitemap # url / file / sitemap
target: https://www.hahwul.com/sitemap.xml
# timeout: 10
# concurrency: 50
# silent: false
# headers: "X-API-Key: 123444"
# worker_headers: "User-Agent: Deadfinder Bot"
# include30x: false
# user_agent: "Apple"
# proxy: "http://localhost:8070"
- name: Output Handling
run: echo '${{ steps.broken-link.outputs.output }}'
Deadfinder’ı GitHub Eylemleriyle Bütünleştirme
GitHub Actions, GitHub tarafından sağlanan ve yazılım geliştirme iş akışlarınızı doğrudan deponuzda otomatikleştirmenize olanak tanıyan bir CI/CD (Sürekli Entegrasyon/Sürekli Dağıtım) aracıdır. Deadfinder ile ölü bağlantı tespitini otomatikleştirmek için GitHub Eylemlerinden nasıl yararlanabileceğiniz aşağıda açıklanmıştır:
---
name: DeadLink
on:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest
steps:
- name: Find Broken Link
uses: hahwul/[email protected]
id: broken-link
with:
command: sitemap
target: https://hahwul.com/sitemap.xml
- name: Create Markdown Table from JSON
id: create-markdown-table
run: |
echo "## DeadLink Report" > deadlink_report.md
echo "" >> deadlink_report.md
echo "| Target URL | Deadlink |" >> deadlink_report.md
echo "|------------|------------|" >> deadlink_report.md
echo '${{ steps.broken-link.outputs.output }}' | jq -r 'to_entries[] | .key as $k | .value[] | "| \($k) | \(.) |"' >> deadlink_report.md
- name: Read Markdown Table from File
id: read-markdown-table
run: |
table_content=$(cat deadlink_report.md)
echo "TABLE_CONTENT<> $GITHUB_ENV
echo "$table_content" >> $GITHUB_ENV
echo "EOF" >> $GITHUB_ENV
- name: Create an issue
uses: dacbd/create-issue-action@main
with:
token: ${{ secrets.GITHUB_TOKEN }}
title: DeadLink Issue
body: ${{ env.TABLE_CONTENT }}
Bu kod, ölü bağlantıları tanımlamak için Deadfinder’ı belirtilen koşullara göre çalıştırır, bunları Markdown formatına dönüştürür ve ardından kullanıcıların bunlardan haberdar olabilmesi için bunları bir GitHub sorunu olarak gönderir. Bu şu anda baktığınız site için de geçerli ve çok fazla makale olduğu için ölü bağlantıları kaldırmak için periyodik olarak çalıştırıyorum.
Github iş akışı geçmişi
Deadlink’leri buldum ve bildirdim!
Çözüm
Bu basit yöntemle sitenizin kalitesini ve güvenliğini kolayca artırabilirsiniz. Bir deneyin ve sitenizi bu tekniği kullanarak yönetin 🙂