Dev.to AI 🤖 Ai 👁 0 📖 7 min read

Dlaczego AI nie znajduje Twojej strony? Audyt dostępności treści krok po kroku

Dlaczego AI nie znajduje strony mojej firmy? Najpierw sprawdź, czy właściwy system może pobrać stronę, odczytać jej treść i uwzględnić ją w swoim procesie wyszukiwania. Zweryfikuj odpowiedź serwera, reguły dostępu, dyrek

Dlaczego AI nie znajduje strony mojej firmy? Najpierw sprawdź, czy właściwy system może pobrać stronę, odczytać jej treść i uwzględnić ją w swoim procesie wyszukiwania. Zweryfikuj odpowiedź serwera, reguły dostępu, dyrektywy indeksowania i wersję kanoniczną. Usunięcie przeszkód technicznych poprawia dostępność, ale nie gwarantuje cytowania ani rekomendacji marki.

To trzeci materiał serii edukacyjnej FunkyMEDIA o AI Search i Brand Mentions. Zaczniemy od rozdzielenia problemów, które często trafiają do jednego worka pod nazwą „brak widoczności w AI”. Następnie przejdziemy przez audyt jednej podstrony i zbudujemy niewielki analizator jej zapisanej wersji HTML.

Przykłady są syntetyczne. Nie opisują audytu konkretnego klienta ani potwierdzonego mechanizmu wyboru źródeł przez wszystkie systemy AI.

Brak wzmianki nie jest diagnozą techniczną

Jeżeli model nie wymienił firmy, wiemy tylko, że w danej obserwacji nie pojawiła się oczekiwana wzmianka. Nie wynika z tego automatycznie, że strona była zablokowana.

Możliwe są różne sytuacje: system nie pobierał aktualnych stron, wybrał inne źródła, uznał inny materiał za bardziej przydatny lub odpowiedział na odmiennie zinterpretowaną potrzebę użytkownika. Bez dodatkowych danych nie da się wskazać jednej przyczyny.

Dlatego audyt zaczynamy od pytań możliwych do sprawdzenia. Czy adres odpowiada? Czy wymaga logowania? Co znajduje się w początkowym HTML? Jakie reguły dotyczą konkretnego robota? Czy treść i adres kanoniczny opisują ten sam materiał?

Oddzielaj trzy poziomy: dostęp techniczny, obecność w indeksie lub innym zbiorze źródeł oraz wykorzystanie w odpowiedzi. Test pierwszego poziomu nie potwierdza pozostałych.

Wybierz jedną stronę i jeden cel

Na początek wybierz podstronę odpowiadającą na określone pytanie klienta. Może to być dokumentacja produktu, opis usługi albo poradnik wyjaśniający metodę pomiaru. Zapisz, jaka informacja ma być na niej dostępna.

Nie ograniczaj audytu do strony głównej, jeżeli użytkownik potrzebuje szczegółowych warunków konkretnej usługi. Istotne dane mogą znajdować się kilka poziomów dalej.

Przygotuj kartę kontroli: badany URL, data, końcowy URL po przekierowaniach, status HTTP, typ zawartości, reguły dostępu, dyrektywy robots, canonical i lokalizacja najważniejszej treści. Dołącz dowody: nagłówki odpowiedzi, zapis HTML oraz zrzut widoku strony.

Taki zestaw umożliwia późniejsze porównanie stanu przed zmianą i po niej. Sama notatka „naprawiono indeksację” nie pozwala ustalić, co rzeczywiście się zmieniło.

Sprawdź odpowiedź serwera i przekierowania

Otwórz stronę w przeglądarce i sprawdź odpowiedź w panelu Network. Zwróć uwagę na początkowy i końcowy adres. Przekierowanie do innej wersji językowej, strony logowania lub ogólnego katalogu może zmieniać znaczenie badanego zasobu.

Kod 200 informuje o udanej odpowiedzi HTTP, ale nie potwierdza jakości ani kompletności treści. Serwer może zwrócić pusty szablon, komunikat o braku danych lub stronę błędu wyglądającą jak zwykła podstrona.

Odpowiedzi 401 i 403 wymagają sprawdzenia uprawnień oraz ochrony dostępu. Błędy serwera i limity żądań analizuj osobno. Nie usuwaj zabezpieczeń tylko po to, aby „wpuścić AI”. Najpierw określ, która treść ma być publiczna i dla jakiego odbiorcy.

Przy zewnętrznych adresach stosuj niewielką liczbę kontrolowanych żądań. Ten poradnik nie wymaga masowego skanowania ani obchodzenia ograniczeń usług.

Czytaj robots.txt w kontekście konkretnego robota

Reguły robots.txt dotyczą dostępu robotów do zasobów. Nie są uniwersalnym przełącznikiem „moja firma jest widoczna w AI”.

W przypadku Google blokowanie pobierania nie jest tym samym co skuteczne usunięcie URL z wyników. Dokumentacja robots.txt opisuje te ograniczenia i zastosowania. Audyt powinien więc sprawdzać zarówno regułę, jak i cel, który ma ona realizować.

Nie przenoś automatycznie zasad jednego dostawcy na innego. Bot służący wyszukiwaniu, pobieraniu treści na żądanie i zbieraniu materiałów treningowych może mieć inny identyfikator oraz inne zasady działania.

Zapisz nazwę sprawdzanego robota i aktualne źródło dokumentacji dostawcy. Jeżeli nie wiesz, którego procesu dotyczy reguła, oznacz to jako pytanie do wyjaśnienia zamiast obiecywać rezultat zmiany.

Sprawdź noindex i nagłówki odpowiedzi

Dyrektywa noindex może być przekazana w metadanych HTML albo nagłówku odpowiedzi. Dlatego kontrola samego tekstu strony nie wystarcza.

Dla Google istotny jest dostęp robota do dyrektywy: jeśli pobieranie blokuje robots.txt, robot może nie odczytać noindex. Szczegóły opisuje dokumentacja blokowania indeksowania.

Nie traktuj każdej dyrektywy jako błędu. Strona prywatna, panel klienta lub inny zasób nieprzeznaczony do wyszukiwania może być celowo wyłączony. Zmiana ma sens dopiero po ustaleniu funkcji konkretnego adresu.

W raporcie zapisz osobno: regułę znalezioną w HTML, regułę w nagłówkach oraz wynik interpretacji dla wybranego robota. To umożliwi ocenę, czy problem wynika z konfiguracji, czy z błędnych oczekiwań.

Zweryfikuj adres kanoniczny

Canonical wskazuje preferowaną wersję równoważnej treści. Nie służy do przekazywania „autorytetu” każdego poradnika na stronę główną.

Sprawdź, czy wskazany adres dotyczy tej samej zawartości i czy jest dostępny. Zwróć uwagę na przypadkowe wskazania wersji testowej, innej domeny lub strony o odmiennym temacie.

Google opisuje canonical jako sygnał w procesie wyboru wersji kanonicznej. Zadeklarowany adres nie jest gwarancją, że wyszukiwarka wybierze właśnie tę wersję.

Przy oryginalnym artykule na DEV.to nie ustawiaj canonical do homepage FunkyMEDIA. Jeżeli ten sam tekst rzeczywiście opublikowano wcześniej gdzie indziej, decyzja o canonical powinna dotyczyć równoważnego oryginału i możliwości platformy.

Sprawdź zapisany HTML prostym skryptem

Poniższy przykład analizuje wyłącznie dostarczony tekst HTML. Nie łączy się z internetem, nie odczytuje robots.txt i nie potwierdza indeksacji. Pozwala sprawdzić część metadanych bez budowania kompletnego crawlera.

from html.parser import HTMLParser

class PageSignals(HTMLParser):
    def __init__(self):
        super().__init__()
        self.robots = []
        self.canonicals = []
        self.h1_count = 0

    def handle_starttag(self, tag, attrs):
        attrs = dict(attrs)
        if tag == "meta":
            name = (attrs.get("name") or "").casefold()
            if name in {"robots", "googlebot"}:
                self.robots.append(attrs.get("content") or "")
        if tag == "link":
            rel = (attrs.get("rel") or "").casefold().split()
            if "canonical" in rel:
                self.canonicals.append(attrs.get("href") or "")
        if tag == "h1":
            self.h1_count += 1

    def summary(self):
        tokens = {
            token.strip().casefold()
            for value in self.robots
            for token in value.split(",")
        }
        return {
            "html_noindex_for_googlebot": bool(
                tokens.intersection({"noindex", "none"})
            ),
            "canonical_candidates": self.canonicals,
            "h1_count_in_initial_html": self.h1_count,
        }

sample = """
<html><head>
<meta name="robots" content="noindex, follow">
<link rel="canonical" href="https://example.com/poradnik">;
</head><body><h1>Poradnik pomiaru</h1></body></html>
"""

page = PageSignals()
page.feed(sample)
result = page.summary()
assert result["html_noindex_for_googlebot"] is True
assert result["h1_count_in_initial_html"] == 1
assert result["canonical_candidates"] == ["https://example.com/poradnik"]

clean = PageSignals()
clean.feed('<meta name="robots" content="index, follow">')
assert clean.summary()["html_noindex_for_googlebot"] is False
print(result)

Liczba nagłówków H1 jest tu informacją diagnostyczną, a nie punktacją widoczności AI. Brak noindex w analizowanym HTML oznacza tylko, że ten skrypt go nie wykrył. Inne reguły mogą znajdować się w nagłówkach HTTP lub konfiguracji dostępu.

Parser nie rozwiązuje adresów względnych canonical, nie sprawdza przekierowań i nie interpretuje wszystkich dyrektyw. Przed rozszerzeniem go do automatycznego audytu dodaj testy przypadków granicznych i jasno określ obsługiwany zakres.

Porównaj początkowy HTML z widokiem po uruchomieniu JavaScript

Jeśli w początkowej odpowiedzi znajduje się jedynie szkielet aplikacji, sprawdź, kiedy i skąd pojawia się właściwa treść. Dane mogą być pobierane później, wymagać interakcji albo zależeć od stanu sesji.

Porównaj zapis HTML z widokiem po wyrenderowaniu strony. Zlokalizuj najważniejszą definicję, warunki usługi i dane identyfikujące markę. Nie zakładaj, że każdy robot uruchamia JavaScript tak samo jak Twoja przeglądarka.

Usprawnienie polega na niezawodnym udostępnieniu przeznaczonych do publikacji informacji. Nie na pokazywaniu robotowi innego, sztucznie rozbudowanego opisu niż użytkownikowi.

Usuń przeszkody, a potem zmierz zmianę

Każdej poprawce przypisz konkretny problem i dowód wykonania. Przykładowo: przywrócono właściwy status odpowiedzi, naprawiono niezamierzony canonical albo udostępniono opis produktu w początkowym HTML.

Dopiero później wróć do stałego panelu pytań AI Search. W poradniku o dzienniku obserwacji opisaliśmy, jak zachować zakres i warunki takiego pomiaru.

Według dokumentacji Google dotyczącej funkcji AI standardowe praktyki SEO pozostają istotne; nie ma specjalnego zestawu optymalizacji gwarantującego pojawienie się w AI Overviews. Nie rozszerzaj tej deklaracji na wszystkie produkty i wszystkich dostawców.

Zgłoszenie URL do usługi indeksującej również nie zastępuje tych kontroli. Rejestruj osobno wysłanie adresu, zaobserwowaną indeksację i faktyczne wykorzystanie źródła w odpowiedzi.

Informacja o serii

Materiał przygotowano dla serii edukacyjnej FunkyMEDIA. Firmowy kontekst opisują AI Search FunkyMEDIA i metodologia. To źródła własne firmy, a nie niezależny dowód skuteczności.

Profile wydawcy: FunkyMEDIA na LinkedIn oraz FunkyMEDIA na YouTube.

Ujawnienie użycia AI: tekst i kod powstały z użyciem AI. Przykłady są syntetyczne; nie przedstawiają wyników klientów ani osobistych doświadczeń autora.

📰 Read the original article on Dev.to AI

Originally published by Dev.to AI. Aggregated on AIWithGhost for educational purposes — full credit and traffic to the original publisher.