jak sprawdzić liste URL czy są zaindeksowane w google? Chodzi mi o utworzenie skryptu sprawdzającego
Metody Sprawdzania Indeksacji
Metody Sprawdzania Indeksacji
- Operator site: Możesz ręcznie sprawdzić indeksację, wpisując w Google
site:twojadomena.pl
. Jeśli strona jest zaindeksowana, pojawią się wyniki. - Google Search Console: Użyj narzędzia "Sprawdzenie adresu URL" w Google Search Console, aby uzyskać szczegółowe informacje o indeksacji konkretnego adresu.
- API Google Search Console: Możesz korzystać z API Google Search Console do automatycznego sprawdzania statusu indeksacji.
Przykładowy Skrypt w Pythonie
Poniżej znajduje się prosty skrypt w Pythonie, który używa bibliotekirequests
do sprawdzenia, czy konkretne URL-e są zaindeksowane, wykorzystując operator site:
.
import requests
from bs4 import BeautifulSoup
def check_indexed(url):
query = f'site:{url}'
search_url = f'https://www.google.com/search?q={query}'
headers = {
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3'
}
response = requests.get(search_url, headers=headers)
if "Nie znaleziono wyników" in response.text:
return False
else:
return True
# Lista URL do sprawdzenia
urls_to_check = [
'example.com',
'another-example.com'
]
for url in urls_to_check:
if check_indexed(url):
print(f'{url} jest zaindeksowane w Google.')
else:
print(f'{url} nie jest zaindeksowane w Google.')
Wyjaśnienie Skryptu
- Funkcja
check_indexed(url)
: Tworzy zapytanie do Google z użyciem operatorasite:
i sprawdza odpowiedź. requests.get()
: Wysyła zapytanie HTTP do Google.- Sprawdzanie odpowiedzi: Analizuje treść odpowiedzi, aby ustalić, czy strona jest zaindeksowana.
Uwaga
Należy pamiętać, że automatyczne zapytania do Google mogą być ograniczone przez ich politykę użytkowania i mogą prowadzić do zablokowania adresu IP. Lepszym rozwiązaniem dla większych projektów jest korzystanie z API Google Search Console.site:
), jak i automatyczne (np. API Google Search Console). Przykładowy skrypt ilustruje podstawowy sposób na sprawdzenie statusu indeksacji za pomocą Pythona.Krok 1: Przygotowanie Środowiska
- Zainstaluj Python: Upewnij się, że masz zainstalowanego Pythona na swoim komputerze.
- Zainstaluj wymagane biblioteki: Użyj pip do zainstalowania bibliotek
requests
igoogle-auth
.bashpip install requests google-auth google-auth-oauthlib google-auth-httplib2
Krok 2: Utworzenie projektu w Google Cloud
- Zaloguj się do Google Cloud Console.
- Utwórz nowy projekt.
- Włącz API Google Search Console dla swojego projektu.
- Utwórz dane logowania (OAuth 2.0) i pobierz plik JSON z danymi logowania.
Krok 3: Skrypt do Sprawdzania Indeksacji
Poniżej znajduje się przykładowy skrypt, który odczytuje listę URL-i z pliku tekstowego i sprawdza ich indeksację:import requests
import json
from google.oauth2 import service_account
# Ustawienia
SCOPES = ['https://www.googleapis.com/auth/webmasters']
SERVICE_ACCOUNT_FILE = 'path/to/your/service-account-file.json'
# Autoryzacja
credentials = service_account.Credentials.from_service_account_file(
SERVICE_ACCOUNT_FILE, scopes=SCOPES)
# Funkcja do sprawdzania indeksacji URL
def check_indexed(url):
search_console_url = 'https://searchconsole.googleapis.com/v1/urlTestingTools/mobileFriendlyTest:run'
headers = {
'Authorization': f'Bearer {credentials.token}',
'Content-Type': 'application/json'
}
# Wysłanie żądania do API
response = requests.post(search_console_url, headers=headers, json={'url': url})
if response.status_code == 200:
result = response.json()
return result.get('mobileFriendliness') == 'MOBILE_FRIENDLY'
else:
return False
# Wczytaj adresy URL z pliku
with open('urls.txt', 'r') as file:
urls = file.readlines()
for url in urls:
url = url.strip()
if check_indexed(url):
print(f'{url} jest zaindeksowane w Google.')
else:
print(f'{url} nie jest zaindeksowane w Google.')
Krok 4: Przygotowanie Pliku z URL-ami
Utwórz plik tekstowy o nazwieurls.txt
, w którym umieścisz swoje adresy URL, każdy w nowej linii.
Krok 5: Uruchomienie Skryptu
Uruchom skrypt w terminalu lub w IDE, a on sprawdzi wszystkie adresy URL i wyświetli informację, czy są one zaindeksowane.Uwaga
- Limity API: Pamiętaj, że Google Search Console ma limity dotyczące liczby żądań, które możesz wysłać dziennie. Upewnij się, że nie przekraczasz tych limitów.
- Błędy: Skrypt może wymagać dodatkowego obsługi błędów w zależności od odpowiedzi API.
Przykładowy Skrypt w PHP
- Stwórz plik PHP (np.
check_index.php
) na swoim serwerze FTP. - Wklej poniższy kod:
<?php
function isIndexed($url) {
// Używamy operatora site: do sprawdzenia indeksacji
$query = 'site:' . $url;
$searchUrl = 'https://www.google.com/search?q=' . urlencode($query);
// Ustawienia cURL
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $searchUrl);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_USERAGENT, 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.3');
// Wykonaj zapytanie
$response = curl_exec($ch);
curl_close($ch);
// Sprawdzanie odpowiedzi
if (strpos($response, 'Nie znaleziono wyników') !== false) {
return false; // Nie jest zaindeksowane
} else {
return true; // Jest zaindeksowane
}
}
// Lista URL do sprawdzenia
$urls = [
'example.com',
'another-example.com',
// Dodaj więcej adresów URL
];
foreach ($urls as $url) {
if (isIndexed($url)) {
echo "$url jest zaindeksowane w Google.<br>";
} else {
echo "$url nie jest zaindeksowane w Google.<br>";
}
}
?>
Jak to Działa
- Funkcja
isIndexed($url)
: Tworzy zapytanie do Google z użyciem operatorasite:
i sprawdza odpowiedź. - cURL: Używa cURL do wysyłania zapytań HTTP do Google.
- Sprawdzanie odpowiedzi: Analizuje treść odpowiedzi, aby ustalić, czy strona jest zaindeksowana.
Krok 3: Uruchomienie Skryptu
- Umieść plik na swoim serwerze FTP.
- Otwórz przeglądarkę i przejdź do adresu
http://twojadomena.pl/check_index.php
, aby uruchomić skrypt.
Uwaga
- Ograniczenia Google: Automatyczne zapytania mogą prowadzić do zablokowania adresu IP przez Google, dlatego warto używać tego skryptu ostrożnie.
- Alternatywne Narzędzia: Jeśli potrzebujesz bardziej zaawansowanych funkcji lub większej liczby zapytań, rozważ użycie narzędzi SEO takich jak Ahrefs czy Semrush.
Files
What's Your Reaction?