Gary Illyes, pracujący w firmie Google, podzielił się cennymi refleksjami na temat skutków używania kodu stanu serwera HTTP 304 w sposób nieodpowiedni, mimo że sam kod 304 może być niezmiernie użytecznym sygnałem dla mechanizmów wyszukiwarek.
W swoim wpisie na platformie LinkedIn, Gary Illyes zauważył: „HTTP 304 (Not Modified) pełni istotną rolę w komunikacji z robotami indeksującymi, informującymi je, że zawartość dostępna pod danym adresem URL nie zmieniła się od czasu ostatniego przeszukania. Jednakże, niewłaściwe jego wykorzystanie może prowadzić do niespodziewanych i wręcz negatywnych rezultatów”.
Następnie Gary wyjaśnił proces, w jaki taki scenariusz może się rozegrać:
- Robot indeksujący zwraca żądanie adresu URL.
- Serwer napotyka pewien błąd i reaguje poprzez zwrócenie pustej strony, sygnalizując jednocześnie kodem stanu HTTP 200 (OK).
- Robot indeksujący interpretuje to jako chwilowy defekt techniczny i planuje późniejsze przeszukanie, w celu potwierdzenia stanu.
- Ponieważ zawartość faktycznie nie uległa zmianie, serwer odpowiada kodem HTTP 304 dla konkretnego adresu URL, informując o braku zmian (w zgodności z wymaganiami standardu HTTP znanego jako RFC 9110).
- Robot „uczy się”, że błąd jest trwały i zaniecha dalszych prób ponownego indeksowania (chociaż ostatecznie może to zrobić, jednak nie jest to zalecane podejście).
Podsumowując, sytuacja, w której serwer lub kod HTML napotykają na trudności, prowadząc do zwrócenia przez Google pustej strony lub niewłaściwej zawartości, a następnie zasugerowania Google użycia kodu stanu serwera HTTP 304, może okazać się niefortunna. Warto więc zachować ostrożność, aby uniknąć niezamierzonych konsekwencji.