htaccess? sitemap do kilku domen na jednym serwerze, jak zrobić sitemap do domen, gdy wszystkie kierują na jeden serwer |
htaccess? sitemap do kilku domen na jednym serwerze, jak zrobić sitemap do domen, gdy wszystkie kierują na jeden serwer |
4.02.2016, 23:27:44
Post
#1
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 4 Dołączył: 14.02.2015 Ostrzeżenie: (0%) |
Witam, spotkałem się ostatnio z problemem, którego wujek google nie wyjaśnia mi zbyt oczywistym językiem.
Zacznijmy od podstaw: - mam jeden serwer - na ten serwer kierują 3 domeny: pl, de, co.uk, zależnie od domeny ustawia się odpowiedni język strony i cała zawartość Mam sitemap gotowe i podpięte pod google dla domeny .pl, jak ustawić sitemap dla reszty domen? Nie mogę do jednego pliku wrzucać, bo będzie się to gryzło z SEO i indexowanie np. niemieckich linków pod polską domeną nie wchodzi w rachubę Potrzebuję odpowiedniej komendy w htaccess? Albo robots? Coś w stylu (napiszę w php i każdy załapie;P ) switch($domena) { case "pl": zaladuj_sitemap_polska();break; case "de": zaladuj_sitemap_niemcy();break; case "uk": zaladuj_sitemap_anglia();break; } Oczywiście nie bierzcie mnie za totalnego idiotę i wiem, że takiego kodu nie wstawię w htaccess ani robots;) Potrzebuję analogicznej alternatywy. W robots.txt mam obecnie: Sitemap: http://mojastrona.pl/sitemap1pl.xml ale dodanie kolejnej linijki z odpowiednią domeną i plikiem nie rozwiązuje sprawy? Z góry dziękuję mądrym głowom |
|
|
5.02.2016, 10:29:14
Post
#2
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Dlaczego kodu nie wstawisz w robots.txt? Przecież możesz go parsować w php.
W robots.txt powinien być pełen URL do sitemap (z domeną). -------------------- |
|
|
6.02.2016, 21:34:44
Post
#3
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 4 Dołączył: 14.02.2015 Ostrzeżenie: (0%) |
Czyli dodanie w robots.txt:
Sitemap: http://mojastrona.pl/sitemap1pl.xml Sitemap: http://mojastrona.de/sitemap1de.xml Sitemap: http://mojastrona.co.uk/sitemap1uk.xml w zupełności wystarczy? I będzie to poprawnie interpretowane przez googla i inne roboty? |
|
|
6.02.2016, 21:47:40
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Dla każdej domeny generujesz inną zawartość robots.txt
-------------------- |
|
|
6.02.2016, 22:31:37
Post
#5
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 4 Dołączył: 14.02.2015 Ostrzeżenie: (0%) |
Dzięki, a możesz podać przykład jak to zrobić?
|
|
|
7.02.2016, 10:38:28
Post
#6
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
-------------------- |
|
|
9.02.2016, 13:49:53
Post
#7
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 4 Dołączył: 14.02.2015 Ostrzeżenie: (0%) |
ale to nie rozwiąże problemu, jak wygeneruję robots.txt i w tym samym czasie na innej domenie będzie próba uzyskania do robots.txt - wygeneruje nowy plik nadpisując poprzedni, wszystko byłoby ok gdyby nie fakt, że może to nastąpić w tym samym czasie przez co któraś z domen uzyska błąd zapisu do pliku i nie powstanie robots.txt
Chyba, że chodzi o parsowanie pliku txt przez php i wyrzucenie odpowiedniej zawartości przez echo - ale z drugiej strony nie chcę dodawać rozszerzenia txt dla parsera php bo mam inne pliki tekstowe na serwerze i wtedy one nie będą poprawnie wyświetlane - a zastosowanie zmiany we wszystkich plikach txt nie wchodzi w rachubę... Jakieś lepsze rozwiązanie? |
|
|
9.02.2016, 14:22:46
Post
#8
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Chodzi dokładnie o parsowanie, to o czym pisze w artykule.
Nie wiem dlaczego sądzisz, że z innymi plikami będziesz mieć problem, przecież jest dyrektywa, która sugeruje parsowanie tylko test.txt. Możesz również utworzyć regułę przepisującą w .htaccess, nie mając pliku tekstowego lecz php. -------------------- |
|
|
10.02.2016, 20:58:54
Post
#9
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 4 Dołączył: 14.02.2015 Ostrzeżenie: (0%) |
Dzięki, zrobiłem jak w tym linku co podałeś - w sumie słuszna droga ale teraz nasuwa mi się pytanie, bo zrobiłem tak w robots.txt:
teraz wszystko co poza klamrami php jest parsowane jako html. Aby zachować strukturę robots.txt , w której każda dyrektywa powinna być od nowej linii powinienem używać <br/> żeby przejść do następnej linii? Bo obecnie po wyświetleniu mam wszystko w jednej linii pisane i raczej nie jest to dobrym plikiem robots. Pytanie jeszcze odnośnie crawlerów, czy one zawsze "wchodzą" na plik tak jak użytkownik? PHP zawsze wyświetli taką samą wartość SERVER_NAME dla robota jak i internauty? Bo jestem zielony w robotach Ten post edytował freewalker 10.02.2016, 20:59:41 |
|
|
10.02.2016, 21:11:48
Post
#10
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Wszystko poza klamrami jest parsowane jako html?
Pozostawię to bez odpowiedzi. https://www.google.pl/search?q=php+text+files+newline -------------------- |
|
|
10.02.2016, 22:29:17
Post
#11
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
A może po prostu ustawić
header("Content-Type: text/plain"); zamiast kombinować? |
|
|
10.02.2016, 22:39:14
Post
#12
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Nie pomoże to na zbitkę:
Kod Sitemap: http://mojastrona.pl/sitemap1pl.xmlUser-agent: magpie-crawler
-------------------- |
|
|
11.02.2016, 08:14:05
Post
#13
|
|
Grupa: Zarejestrowani Postów: 8 068 Pomógł: 1414 Dołączył: 26.10.2005 Ostrzeżenie: (0%) |
Albo ja mam problem z głową albo...
Output: Kod Sitemap: http://mojastrona.pl/sitemap1pl.xml
User-agent: magpie-crawler Disallow: / User-agent: WikiDo Disallow: / User-agent: AhrefsBot Disallow: / User-agent: MJ12bot Disallow: / |
|
|
11.02.2016, 08:38:10
Post
#14
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Albo złamałeś linię, czego nie było:)
Tak, można headerem. -------------------- |
|
|
11.02.2016, 14:15:33
Post
#15
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 4 Dołączył: 14.02.2015 Ostrzeżenie: (0%) |
Temat do zamknięcia, poradziłem sobie traktując łamanie wiersza htmlowym <br/>, sprawdzając plik robots.txt przechodzi pozytywnie testy pod każdą domeną. Dzięki za pomoc:)
Wszystko poza klamrami jest parsowane jako html? Pozostawię to bez odpowiedzi. https://www.google.pl/search?q=php+text+files+newline dobra dobra, już nie czepiajmy się słówek, niech będzie "wyświetlane" bo fakt, nie parsujemy htmla w ten sposob ;D |
|
|
11.02.2016, 14:55:50
Post
#16
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
Nie łam wiersza żadnym <br/>. Popatrz jak to będzie wyglądać w źródle i jak robot zobaczy...
Przy okazji, skoro masz mapy pod różnymi domenami, to warto również ujednolicić ich nazwy, stosując analogiczną metodę do generacji mapy jak do robots.txt. Co będzie jeśli robot nie otworzy robots.txt, a będzie chciał otworzyć mapę, myślisz, że znajdzie sitemap1pl.xml? -------------------- |
|
|
11.02.2016, 16:01:36
Post
#17
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 4 Dołączył: 14.02.2015 Ostrzeżenie: (0%) |
korzystałem z innego sprawdzania i nie było błędów ale w google webmaster tools faktycznie wyłapało łamanie przez <br/>, przesłanie nagłówka text/plain faktycznie rozwiązało sytuację.
Nastawiam się głównie na google, zgłosiłem mapę witryny więc nie powinien mieć problemu z otwarciem sitemap1uk i innych... a wrzucenie wszystkich linków z 3 krajów trochę powiększy plik - chyba, że skorzystam z include.. Czyli sitemap.xml wyłapie każdy robot? |
|
|
11.02.2016, 16:18:32
Post
#18
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
A dlaczego miałoby powiększyć plik, przecież do polskiej mapy nie wrzucasz angielskich linków.
-------------------- |
|
|
11.02.2016, 16:23:34
Post
#19
|
|
Grupa: Zarejestrowani Postów: 90 Pomógł: 4 Dołączył: 14.02.2015 Ostrzeżenie: (0%) |
nie w tym rzecz, jak miałbym robić jeden plik to wrzuciłbym wszystkie linki, polskie, angielskie, niemieckie ale lepiej będzie chyba tak zrobić?:
--plik sitemap.xml
oczywiście "polska" i "niemcy" to żadna zmienna ani nic, mają przedstawiać tylko logikę w htaccess dodac parsowanie pliku sitemap.xml przez php, jak wcześniej z robots, a jaki header przesłać, żeby xml był poprawnie odczytany? Ten post edytował freewalker 11.02.2016, 16:24:16 |
|
|
11.02.2016, 16:47:00
Post
#20
|
|
Grupa: Zarejestrowani Postów: 6 782 Pomógł: 1826 Dołączył: 11.03.2014 Ostrzeżenie: (0%) |
W tym rzecz, że nie łączysz kilku map dla różnych wersji językowych w jedną. Nigdzie tego nie sugerowałem, pisałem o ujednoliceniu nazwy.
Ten post edytował trueblue 11.02.2016, 16:47:30 -------------------- |
|
|
Wersja Lo-Fi | Aktualny czas: 20.09.2024 - 23:09 |