# Aşağıdaki kaynaktan bilgi edinerek çok küçük değişikliklerle bu scripti yazdım kaynak linki aşağıdadır bilgilendirici bir çalışma yaptığı için "barkeep" kişisine teşekkür ederim.
# https://www.lostsaloon.com/technology/how-to-create-an-xml-sitemap-using-wget-and-shell-script/ 

# Kullanım örneği olarak aşağıdaki gibi kullanabilirsiniz. priority değeri haric sayfaları çıkarabilmektedir.
# chmod +x sitegenerator.bash 
# ./sitegenerator.bash https://durukanbal.com


#!/bin/bash

mkdir temp
sitedomain=$1
wget --spider --recursive --level=inf --no-verbose --output-file=temp/linklist.txt $sitedomain
grep -i URL temp/linklist.txt | awk -F 'URL:' '{print $2}' | awk '{$1=$1};1' | awk '{print $1}' | sort -u | sed '/^$/d' > temp/sortedurls.txt

zaman=$(date +%Y-%m-%dT%H:%M:%S+03:00)
header='<?xml version="1.0" encoding="UTF-8"?><urlset
      xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9
            http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">' 

echo $header > sitemap.xml


while read p; do

  case "$p" in 
  *.js* | *.css* | *.eot* | *.ttf* | *.woff2* | *.woff*)
    ;;
  */ | *.html | *.htm | *.php | *=*)
    echo '<url>
    		<loc>'$p'</loc>
    		<lastmod>'$zaman'</lastmod>
    	  </url>' >> sitemap.xml
    ;;  
  *)
    ;;

 esac

done < temp/sortedurls.txt

echo "</urlset>" >> sitemap.xml
sed -i 's/&/&amp;/g' sitemap.xml

exit

Categories: Bash language

347 Comments

Leave a Reply

Avatar placeholder