eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.wwwphp, linki z nazwami a $_GET, SEO
Ilość wypowiedzi w tym wątku: 6

  • 1. Data: 2023-11-16 05:59:41
    Temat: php, linki z nazwami a $_GET, SEO
    Od: Marcin Debowski <a...@I...zoho.com>

    Próbuję optymalizować strone pod wymagania googla. Przewija się sugestia
    aby nazwy w url były (pełno)tekstowe raczej niż typu /?id=1, które mam
    obecnie. Pytania:

    (1) czy ma to faktyczny jakiś znaczący wpływ na pozycjonowanie?

    (2) jeśli tak, czy wystarczy dać np. /?id=matkalenina, czy też to musi
    być goła /matkalenina -> przykłady googla sugerują to ostatnie

    (3) jeśli matkalenina musi być goła to jak to najlepiej zrobić, żeby tę
    matkę lenina dostawać podobnie jak argument po "?"?

    --
    Marcin


  • 2. Data: 2023-11-16 11:06:45
    Temat: Re: php, linki z nazwami a $_GET, SEO
    Od: Mateusz Viste <m...@...invalid>

    dn. Thu, 16 Nov 2023 04:59:41 GMT, Marcin Debowski napisał:
    > Próbuję optymalizować strone pod wymagania googla. Przewija się
    > sugestia aby nazwy w url były (pełno)tekstowe raczej niż typu /?id=1,
    > które mam obecnie. Pytania:
    >
    > (1) czy ma to faktyczny jakiś znaczący wpływ na pozycjonowanie?

    Amatorsko administruję kilkoma stronami www. Te z URL-ami typu
    "?id=123" są równie dobrze indeksowane, co te z fikuśniejszymi URL-ami.
    Istotne natomiast jest, aby adres był kanoniczny/unikalny, oraz aby
    zawartość strony była odpowiedniej jakości, a także aby linki do stron
    były łatwe do znalezienia.

    > (3) jeśli matkalenina musi być goła to jak to najlepiej zrobić, żeby
    > tę matkę lenina dostawać podobnie jak argument po "?"?

    W Apache służy do tego rozszerzenie mod_rewrite. Można np. ustawić w
    .htaccess coś takiego:

    RewriteEngine On
    RewriteRule "^([0-9]+)" "?id=$1" [PT]

    Powyższy regex łapie wyłącznie identyfikatory numeryczne. Dla innych
    należy go odpowiednio dostosować.

    Mateusz


  • 3. Data: 2023-11-17 02:38:51
    Temat: Re: php, linki z nazwami a $_GET, SEO
    Od: Marcin Debowski <a...@I...zoho.com>

    On 2023-11-16, Mateusz Viste <m...@...invalid> wrote:
    > dn. Thu, 16 Nov 2023 04:59:41 GMT, Marcin Debowski napisał:
    >> Próbuję optymalizować strone pod wymagania googla. Przewija się
    >> sugestia aby nazwy w url były (pełno)tekstowe raczej niż typu /?id=1,
    >> które mam obecnie. Pytania:
    >>
    >> (1) czy ma to faktyczny jakiś znaczący wpływ na pozycjonowanie?
    >
    > Amatorsko administruję kilkoma stronami www. Te z URL-ami typu
    > "?id=123" są równie dobrze indeksowane, co te z fikuśniejszymi URL-ami.

    Indeksuje, ale czy nie obniża pozycji?

    > Istotne natomiast jest, aby adres był kanoniczny/unikalny, oraz aby
    > zawartość strony była odpowiedniej jakości, a także aby linki do stron
    > były łatwe do znalezienia.
    >
    >> (3) jeśli matkalenina musi być goła to jak to najlepiej zrobić, żeby
    >> tę matkę lenina dostawać podobnie jak argument po "?"?
    >
    > W Apache służy do tego rozszerzenie mod_rewrite. Można np. ustawić w
    > .htaccess coś takiego:
    >
    > RewriteEngine On
    > RewriteRule "^([0-9]+)" "?id=$1" [PT]
    >
    > Powyższy regex łapie wyłącznie identyfikatory numeryczne. Dla innych
    > należy go odpowiednio dostosować.

    Rozumiem, że w powyższym żądanie typu (przykład) /79 będzie
    przekształcone do ?id=79?

    W sumie jako takich numerycznych nie potrzebuję, a jedynie unikatowych,
    bo tekstowe mnie też zadawalają. W tej chwili baza sql jest odpytywana
    po indeksie, ale nic nie stoi na przeszkodzie aby dodac kolumne,
    zmapować nazwy i wołać rekord po nazwie.

    Jakos tak?:

    RewriteRule "^([A-Za-z\-_])+" "?id=$1" [PT]

    Tam jest potrzebny "escape" przy trzecim "-"?

    Dzięki.

    --
    Marcin


  • 4. Data: 2023-11-17 09:24:45
    Temat: Re: php, linki z nazwami a $_GET, SEO
    Od: Mateusz Viste <m...@...invalid>

    dn. Fri, 17 Nov 2023 01:38:51 GMT, Marcin Debowski napisał:
    > > Amatorsko administruję kilkoma stronami www. Te z URL-ami typu
    > > "?id=123" są równie dobrze indeksowane, co te z fikuśniejszymi
    > > URL-ami.
    >
    > Indeksuje, ale czy nie obniża pozycji?

    Dobre pytanie, w sumie to nie wiem. Tematyka tych moich stron jest
    na tyle niszowa, że tak czy inaczej jestem na pierwszym miejscu więc
    trudno mi określić jak to mogłoby wyglądać przy konkurencji.

    > > RewriteEngine On
    > > RewriteRule "^([0-9]+)" "?id=$1" [PT]
    > >
    > > Powyższy regex łapie wyłącznie identyfikatory numeryczne. Dla innych
    > > należy go odpowiednio dostosować.
    >
    > Rozumiem, że w powyższym żądanie typu (przykład) /79 będzie
    > przekształcone do ?id=79?

    Dokładnie tak. Podobnej regułki używam np. tutaj:
    https://ulwarre.pl/forum/

    Wątki na forum dostępne są pod linkami typu /forum/xyz, ale po
    przejściu przez MOD_REWRITE moje PHP dostaje tak naprawdę zapytania w
    postaci /forum/?thread=xyz (zresztą obie formy działają publicznie).

    Oczywiście równie dobrze możesz użyć słów zamiast numerycznych
    wartości. Jak używam numerycznych tylko dlatego, że łatwo jest je
    zabezpieczyć. Wystarczy argument przepuścić przez intval() i już mam
    gwarancję, że nikt mi tu żadnego sqla czy innega dziadostwa nie
    wstrzyknie. Słowa też można zabezpieczyć, ale potrzeba nieco więcej
    uwagi.

    Możesz też użyć kilku reguł naraz, np. żeby przekierować zapytania do
    innego pliku php w zależności od pierwszej litery słowa, czy tam innego
    dyskryminatora.

    > Jakos tak?:
    >
    > RewriteRule "^([A-Za-z\-_])+" "?id=$1" [PT]
    >
    > Tam jest potrzebny "escape" przy trzecim "-"?

    Do testowania regexów możesz użyć tego fajnego narzędzia:
    https://www.regexpal.com/

    Twoja regułka na oko wygląda dobrze, tylko uważaj na skutki uboczne.
    Np. jeśli będziesz chciał opublikować później jakiś prawilny plik typu
    "mojastrona.pl/plik_do_pobrania", to ten wpadnie w RewriteRule i
    zostanie przetłumaczony na "?id=plik_do_pobrania". Warto od startu
    pomyśleć nad jakąś nomenklaturą, żeby później nic nie miało szans się
    pomieszać.

    Mateusz


  • 5. Data: 2023-11-19 02:27:17
    Temat: Re: php, linki z nazwami a $_GET, SEO
    Od: Marcin Debowski <a...@I...zoho.com>

    On 2023-11-17, Mateusz Viste <m...@...invalid> wrote:
    > dn. Fri, 17 Nov 2023 01:38:51 GMT, Marcin Debowski napisał:
    >> > Amatorsko administruję kilkoma stronami www. Te z URL-ami typu
    >> > "?id=123" są równie dobrze indeksowane, co te z fikuśniejszymi
    >> > URL-ami.
    >>
    >> Indeksuje, ale czy nie obniża pozycji?
    >
    > Dobre pytanie, w sumie to nie wiem. Tematyka tych moich stron jest
    > na tyle niszowa, że tak czy inaczej jestem na pierwszym miejscu więc
    > trudno mi określić jak to mogłoby wyglądać przy konkurencji.

    Mnie właśnie zastanawiają perrory googla ntt no i to, że jak patrzysz na
    różne strony, to jednak praktycznie wszystkie mają przynajmnien wstawki
    wyrazowe w adresach. Te co się specjalizują w seo to zwykle wszystko
    mają wyrazowo.

    >> > RewriteEngine On
    >> > RewriteRule "^([0-9]+)" "?id=$1" [PT]
    >> >
    >> > Powyższy regex łapie wyłącznie identyfikatory numeryczne. Dla innych
    >> > należy go odpowiednio dostosować.
    >>
    >> Rozumiem, że w powyższym żądanie typu (przykład) /79 będzie
    >> przekształcone do ?id=79?
    >
    > Dokładnie tak. Podobnej regułki używam np. tutaj:
    > https://ulwarre.pl/forum/
    >
    > Wątki na forum dostępne są pod linkami typu /forum/xyz, ale po
    > przejściu przez MOD_REWRITE moje PHP dostaje tak naprawdę zapytania w
    > postaci /forum/?thread=xyz (zresztą obie formy działają publicznie).

    Nb. nie da się jakoś bez GET, dając REWRITE na twardo w konfiguracji z
    przekierowaniem do jednego pliku (np. index.php) bez żadnych parametrów
    a potem analizować po $_SERVER['REQUEST_URI'] czy to będzie wtedy
    wskazywać zawsze /index.php?

    > Oczywiście równie dobrze możesz użyć słów zamiast numerycznych
    > wartości. Jak używam numerycznych tylko dlatego, że łatwo jest je
    > zabezpieczyć. Wystarczy argument przepuścić przez intval() i już mam
    > gwarancję, że nikt mi tu żadnego sqla czy innega dziadostwa nie
    > wstrzyknie. Słowa też można zabezpieczyć, ale potrzeba nieco więcej
    > uwagi.

    Racja.

    > Możesz też użyć kilku reguł naraz, np. żeby przekierować zapytania do
    > innego pliku php w zależności od pierwszej litery słowa, czy tam innego
    > dyskryminatora.
    >
    >> Jakos tak?:
    >>
    >> RewriteRule "^([A-Za-z\-_])+" "?id=$1" [PT]
    >>
    >> Tam jest potrzebny "escape" przy trzecim "-"?
    >
    > Do testowania regexów możesz użyć tego fajnego narzędzia:
    > https://www.regexpal.com/

    A dzięki. SKorzystam.

    > Twoja regułka na oko wygląda dobrze, tylko uważaj na skutki uboczne.
    > Np. jeśli będziesz chciał opublikować później jakiś prawilny plik typu
    > "mojastrona.pl/plik_do_pobrania", to ten wpadnie w RewriteRule i
    > zostanie przetłumaczony na "?id=plik_do_pobrania". Warto od startu
    > pomyśleć nad jakąś nomenklaturą, żeby później nic nie miało szans się
    > pomieszać.

    Tam powinno być trochę więcej, bo np. "?id=" powinny przechodzić bez
    modyfikacji. Ale też można to zrobić już na poziomie php. Co pasuje to
    pasuje, dalej sprawdzenie czy nie ?id="?id=", reszta przekierowana do np.
    ?id=0.

    --
    Marcin


  • 6. Data: 2023-11-19 20:21:57
    Temat: Re: php, linki z nazwami a $_GET, SEO
    Od: Mateusz Viste <m...@...invalid>

    dn. Sun, 19 Nov 2023 01:27:17 GMT, Marcin Debowski napisał:
    > Nb. nie da się jakoś bez GET, dając REWRITE na twardo w konfiguracji
    > z przekierowaniem do jednego pliku (np. index.php) bez żadnych
    > parametrów a potem analizować po $_SERVER['REQUEST_URI'] czy to
    > będzie wtedy wskazywać zawsze /index.php?

    Można, jasne - nikt nie broni. :)
    Sposób działania ten sam: MOD_REWRITE. Pewnie coś takiego starczy:

    RewriteRule ".*" "/index.php" [PT]

    $_SERVER['REQUEST_URI'] powinien zawierać oryginalny (niezmieniony) URL
    o który pyta klient. Alternatywnie możesz zwyczajnie podać oryginalny
    URL swojemu PHP, tj. to ".*" powyżej traktować jak argument.
    Dokumentacja zawiera zresztą dokładnie taki przykład:

    https://httpd.apache.org/docs/2.4/rewrite/flags.html

    (szukaj pod flagą "LAST")

    Idąc w takie rozwiązanie szybko zaczniesz odkrywać koło na nowo.
    Np. każdy obrazek będziesz musiał wyszukiwać sam, wykrywać MIME,
    budować wirtualne linki, itd. Jeśli to, co budujesz jest jakkolwiek
    rozbudowane, to takie podejście jest doskonałym sposobem na zapewnienie
    sobie zajęcia na lata.

    Kiedyś poszedłem w podobnym kierunku, skończyło się na tym, że
    napisałem od zera własny serwer HTTP żeby mieć nad wszystkim 100%
    kontroli. Fajna zabawa na samotne wieczory z komputerem, ale dziś już
    bym się na to nie pisał.

    Mateusz

strony : [ 1 ]


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: