parent
fad7133959
commit
4a40d89783
2 changed files with 40 additions and 0 deletions
@ -0,0 +1,39 @@ |
||||
#!/usr/bin/env bash |
||||
|
||||
# Usage: warm-og.sh <sitemap-url> |
||||
# Example: warm-og.sh https://www.example.com/sitemap.xml |
||||
|
||||
# Check if sitemap url is provided |
||||
if [ -z "$1" ]; then |
||||
echo "Please provide sitemap URL" >&2 |
||||
exit 1 |
||||
fi |
||||
|
||||
# Get all URLs from sitemap |
||||
urls=$(curl -s "$1" | grep -o "<loc>[^<]*</loc>" | sed 's#<loc>\(.*\)</loc>#\1#') |
||||
|
||||
failed_urls=() |
||||
|
||||
# Warm up URLs |
||||
for url in $urls; do |
||||
# Fetch the og:image URL from the meta tags |
||||
og_image_url=$(curl -s "$url" | grep -o "<meta property=\"og:image\" content=\"[^\"]*\"" | sed 's#<meta property="og:image" content="\([^"]*\)"#\1#') |
||||
|
||||
# Warm up the og:image URL |
||||
if [ -n "$og_image_url" ]; then |
||||
echo "Warming up $og_image_url" |
||||
if ! curl -s -I "$og_image_url" > /dev/null; then |
||||
failed_urls+=("$og_image_url") |
||||
fi |
||||
else |
||||
echo "No og:image found for $url" |
||||
fi |
||||
done |
||||
|
||||
# Print failed URLs |
||||
if [ ${#failed_urls[@]} -gt 0 ]; then |
||||
echo "Failed to warm up the following URLs:" >&2 |
||||
for failed_url in "${failed_urls[@]}"; do |
||||
echo "$failed_url" >&2 |
||||
done |
||||
fi |
Loading…
Reference in new issue