Redirect script beïnvloed admin

Nederlandse ondersteuning voor CMS Made Simple

Moderator: velden

deactivated010521

Re: Redirect script beïnvloed admin

Post by deactivated010521 »

Rolf wrote: Waar ik met het script wel tegen aanloop is bijzondere tekens in de URLs. Dat gaat niet altijd goed...
Wat bedoel je met bijzondere tekens? Unicodes zoals die in verschillende vreemde talen kunnen voorkomen, zoals accenten: "Lörick" ?

Of URL-encodes strings [urlencode()] ?
Rolf wrote: Toevallig heb ik net in de mail een soortgelijk script gekregen van een andere CMSMS gebruiker. Dit weekend ook eens testen!
Succes met testen, houd je apache access logs maar open als je de [preview]-tab bekijkt.
User avatar
Rolf
Dev Team Member
Dev Team Member
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Location: The Netherlands
Contact:

Re: Redirect script beïnvloed admin

Post by Rolf »

Dit werkt voor mij op https://pneumatic.tube, zowel in de frontend als de backend!

Code: Select all

$canonical_url = isset($params['canonical_url']) ? $params['canonical_url'] : '';

if ( $canonical_url != '' ) 
{
  if ( strpos( $_SERVER['REQUEST_URI'], '_preview_' ) !== false ) return;

  $browser_url = htmlspecialchars ( ( isset($_SERVER['HTTPS']) ? 'https' : 'http' ) . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );
  $canonical_url = str_replace(' ', '%20', $canonical_url);

  if ( $browser_url != $canonical_url )
  {
    header('Location: ' . $canonical_url , true, 301);
    exit;
  }
}
Getest met o.a.:
https://pneumatic.tube/index.php
https://pneumatic.tube/&tag=berlin
https://pneumatic.tube/&tag=german%20language
https://pneumatic.tube/foo/bar/suppliers
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
deactivated010521

Re: Redirect script beïnvloed admin

Post by deactivated010521 »

Je hebt nog een probleem met letters die buiten de tekenreeks [a-z], zoals de duitse S, vallen:

Code: Select all

https://pneumatic.tube/&tag=großrohrpost
In sommige gevallen kan een dergelijk teken, bijvoorbeeld "ö" uitmonden in een "infinite" redirect:

Code: Select all

https://pneumatic.tube/calendar/the-mix-genest-company-was-founded-by-the-businessman-wilhelm-mix-and-the-engineer-werner-genest-in-berlin-genest-in-berlin-schöneberg
Buiten "spaties (%20)", zou je ook andere tekens kunnen vervangen. [& (%26), ^ (%5E), # (%23), $ (%24), % (%25) en vele andere....]

urlencode/urldecode ipv:

Code: Select all

$canonical_url = str_replace(' ', '%20', $canonical_url);
User avatar
Rolf
Dev Team Member
Dev Team Member
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Location: The Netherlands
Contact:

Re: Redirect script beïnvloed admin

Post by Rolf »

Ja, ik weet het!
Uiteindelijk bleek het probleem in mijn tags methode te zitten...
Heb de UDT nog wat aangepast en alles werkt nu!
Zal er een blogje van maken.
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
User avatar
Rolf
Dev Team Member
Dev Team Member
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Location: The Netherlands
Contact:

Re: Redirect script beïnvloed admin

Post by Rolf »

- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
deactivated010521

Re: Redirect script beïnvloed admin

Post by deactivated010521 »

Goede blog Rolf mooie aanvulling op je verhaal over het zetten van canonical url's en redirects via .htaccess.

Ik heb nog een variant bedacht als je te maken hebt met pure content pagina's zonder modules als News/CGBlog/Calendar oid.


Deze werkt op basis van de page_alias en cmsms_selflink ook toe te passen in een UDT:

Code: Select all

$tmpl = '{$page_alias}';
$page_alias = $smarty->fetch('string:'.$tmpl);

$tmpl = '{cms_selflink page="'. $page_alias. '" urlonly="1"}';
$selflink = $smarty->fetch('string:'.$tmpl);

$browser_url =  urldecode ( ( isset($_SERVER['HTTPS']) ? 'https' : 'http' ) . '://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] );

print "<pre>\n";
print "browser_url:$browser_url \n";
print "selflink:$selflink \n";
print "</pre>\n";
User avatar
Rolf
Dev Team Member
Dev Team Member
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Location: The Netherlands
Contact:

Re: Redirect script beïnvloed admin

Post by Rolf »

Vernieuwde versie beschikbaar op m'n blog:
https://cmscanbesimple.org/blog/redirec ... onical-url

Heeft een "exclude" parameter om bepaalde aliasen uit te schakelen voor een redirect, bijv zoekresultaten pagina.
De core foutpagina's staan standaard al in de code opgenomen.
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
User avatar
velden
Dev Team Member
Dev Team Member
Posts: 3479
Joined: Mon Nov 28, 2011 9:29 am
Location: The Netherlands

Re: Redirect script beïnvloed admin

Post by velden »

Is het nou niet zo dat je hiermee om de werking van canonical urls (<link rel="canonical" href="http://..." />) heen draait?

Dacht dat die daarvoor bedoeld waren namelijk.

Dat website eigenaren het allemaal heel vervelend vinden dat je op meerdere manieren bij een pagina kan komen doet daar verder niet veel aan af.

Lijkt me dat je met die redirects wat meer potentiele problemen inbouwt dan je mee oplost.

Of zie ik het helemaal verkeerd?
deactivated010521

Re: Redirect script beïnvloed admin

Post by deactivated010521 »

In een ideale wereld waar Google "snel" de canonical indexeerd zal een redirect UDT overbodig zijn.

Ik zie de use-case van een redirect UDT wel, maar pas hem niet toe.

Het blijft oppassen voor "side-effects", "potentiele problemen" zoals:

- Een redirect op een 403, 404 pagina (afgevangen)
- Redirect in /admin preview (afgevangen)
- Afwijkende URL wegens news/blog pager id
- etc....

Dit is ook de overweging om een split te maken tussen pure "content" (Content -> Manager) pagina's (hier doe je een redirect op basis van page_alias). Voor "module content" doe je een redirect op basis van canonical.

Bottom line met verdwenen pagina's die wel geindexeerd zijn maar niet meer beschikbaar in het CMS is meer te winnen.

Voor goede indexering heb je "soms erg veel" geduld nodig een "redirect" zal dit denk ik niet versnellen.... mogelijke heb ik het mis.... Kunnen Rolf of Tim hier over enkele weken iets meer over zeggen.
User avatar
Rolf
Dev Team Member
Dev Team Member
Posts: 7825
Joined: Wed Apr 23, 2008 7:53 am
Location: The Netherlands
Contact:

Re: Redirect script beïnvloed admin

Post by Rolf »

velden wrote:Lijkt me dat je met die redirects wat meer potentiele problemen inbouwt dan je mee oplost.
Ik zou deze UDT zeker niet voor iedere website "by default" toepassen!
Zoals je zegt de canonical url zal het meeste werk al wel doen!! Daar ben ik ook van overtuigd.

Maar voor websites die van domeinnaam wisselen of waar veel wijzigingen zijn geweest zoals op mijn https://pneumatic.tube zie ik wel een meerwaarde.
Door de redirect voorkom je dat mensen foute urls blijven kopieren/plakken in social media en de analytics informatie zal ook veel schoner zijn.
Is deze meerwaarde meetbaar? Uhh nee, ik denk het niet... Je probeert voor jouw website of die van een client het beste te doen dat haalbaar is. En alle kleine beetjes helpen... Ik denk (lees: hoop) dat het hele transitie traject bij de zoekmachines sneller zal gaan.

grt. Rolf
- + - + - + - + - + - + -
LATEST TUTORIAL AT CMS CAN BE SIMPLE:
Migrating Company Directory module to LISE
- + - + - + - + - + - + -
Image
Post Reply

Return to “Dutch - Nederlands”