permalinks updated in WP!

Maybe I just saw this, or that this is a recent warning, but WP pages now warn against starting a permalink with a word (categ/postname etc)….

This after an years worth of indexing thousands of posts… its disheartening.

Earlier my permalink structure was:

/%category%/%postname%/

But on one of my sites – with about 10,000 posts, I changed the permalink to include postid like so:

/%post_id%/%category%/%postname%/ and VOILA – google’s old indexed links would automatically redirect to the new permalink structure.

However, on a website with over 20000 posts, th redirecting or whatever is happening, is not successful. Instead it shows a broken link. Whats going on? Can someone help?

  • Philip John
    • DEV MAN’s Apprentice

    Hiya!

    Yep, this is because using category-based permalinks puts a huge load on the server and can cause it to fall over.

    Have you checked that your .htaccess file is up to date and using the correct rules? Paste it in here if you like and we can check it with you…

    Also, a link would be good so we can see what the response from the server is for those pages.

    Thanks,

    Phil

  • graphitewpmud
    • Design Lord, Child of Thor

    Phil – I appreciate the help. My htaccess may be crazy because it was hacked – with capitalinformer dot com links (Im including so anyone who finds links from this website should know their htaccess has been tampered with). I would appreciate it you had a comment for this file:

    .htaccess follows:


    # BEGIN W3TC Browser Cache

    <IfModule mod_deflate.c>

    <IfModule mod_setenvif.c>

    BrowserMatch ^Mozilla/4 gzip-only-text/html

    BrowserMatch ^Mozilla/4.0[678] no-gzip

    BrowserMatch bMSIE !no-gzip !gzip-only-text/html

    BrowserMatch bMSI[E] !no-gzip !gzip-only-text/html

    </IfModule>

    <IfModule mod_headers.c>

    Header append Vary User-Agent env=!dont-vary

    </IfModule>

    <IfModule mod_filter.c>

    AddOutputFilterByType DEFLATE text/css application/x-javascript text/x-component text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon

    </IfModule>

    </IfModule>

    <FilesMatch “.(css|js|htc|CSS|JS|HTC)$”>

    FileETag None

    <IfModule mod_headers.c>

    Header set X-Powered-By “W3 Total Cache/0.9.2.4”

    </IfModule>

    </FilesMatch>

    <FilesMatch “.(html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml|HTML|HTM|RTF|RTX|SVG|SVGZ|TXT|XSD|XSL|XML)$”>

    FileETag None

    <IfModule mod_headers.c>

    Header set X-Powered-By “W3 Total Cache/0.9.2.4”

    </IfModule>

    </FilesMatch>

    <FilesMatch “.(asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|eot|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|otf|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|svg|svgz|swf|tar|tif|tiff|ttf|ttc|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip|ASF|ASX|WAX|WMV|WMX|AVI|BMP|CLASS|DIVX|DOC|DOCX|EOT|EXE|GIF|GZ|GZIP|ICO|JPG|JPEG|JPE|MDB|MID|MIDI|MOV|QT|MP3|M4A|MP4|M4V|MPEG|MPG|MPE|MPP|OTF|ODB|ODC|ODF|ODG|ODP|ODS|ODT|OGG|PDF|PNG|POT|PPS|PPT|PPTX|RA|RAM|SVG|SVGZ|SWF|TAR|TIF|TIFF|TTF|TTC|WAV|WMA|WRI|XLA|XLS|XLSX|XLT|XLW|ZIP)$”>

    FileETag None

    <IfModule mod_headers.c>

    Header set X-Powered-By “W3 Total Cache/0.9.2.4”

    </IfModule>

    </FilesMatch>

    # END W3TC Browser Cache

    # BEGIN W3TC Page Cache core

    <IfModule mod_rewrite.c>

    RewriteEngine On

    RewriteBase /

    RewriteRule ^(.*/)?w3tc_rewrite_test$ $1?w3tc_rewrite_test=1 [L]

    RewriteCond %{HTTP_USER_AGENT} (2.0 mmp|240×320|alcatel|amoi|asus|au-mic|audiovox|avantgo|benq|bird|blackberry|blazer|cdm|cellphone|danger|ddipocket|docomo|dopod|elaine/3.0|ericsson|eudoraweb|fly|haier|hiptop|hp.ipaq|htc|huawei|i-mobile|iemobile|j-phone|kddi|konka|kwc|kyocera/wx310k|lenovo|lg|lg/u990|lge vx|midp|midp-2.0|mmef20|mmp|mobilephone|mot-v|motorola|netfront|newgen|newt|nintendo ds|nintendo wii|nitro|nokia|novarra|o2|openweb|opera mobi|opera.mobi|palm|panasonic|pantech|pdxgw|pg|philips|phone|playstation portable|portalmmm|ppc|proxinet|psp|pt|qtek|sagem|samsung|sanyo|sch|sec|sendo|sgh|sharp|sharp-tq-gx10|small|smartphone|softbank|sonyericsson|sph|symbian|symbian os|symbianos|toshiba|treo|ts21i-10|up.browser|up.link|uts|vertu|vodafone|wap|willcome|windows ce|windows.ce|winwap|xda|zte) [NC]

    RewriteRule .* – [E=W3TC_UA:_low]

    RewriteCond %{HTTP_USER_AGENT} (acer s100|android|archos5|blackberry9500|blackberry9530|blackberry9550|cupcake|docomo ht-03a|dream|htc hero|htc magic|htc_dream|htc_magic|incognito|ipad|iphone|ipod|lg-gw620|liquid build|maemo|mot-mb200|mot-mb300|nexus one|opera mini|samsung-s8000|series60.*webkit|series60/5.0|sonyericssone10|sonyericssonu20|sonyericssonx10|t-mobile mytouch 3g|t-mobile opal|tattoo|webmate|webos) [NC]

    RewriteRule .* – [E=W3TC_UA:_high]

    RewriteCond %{HTTP_COOKIE} w3tc_referrer=.*(google.com|yahoo.com|bing.com|ask.com|msn.com) [NC]

    RewriteRule .* – [E=W3TC_REF:_search_engines]

    RewriteCond %{HTTPS} =on

    RewriteRule .* – [E=W3TC_SSL:_ssl]

    RewriteCond %{SERVER_PORT} =443

    RewriteRule .* – [E=W3TC_SSL:_ssl]

    RewriteCond %{HTTP:Accept-Encoding} gzip

    RewriteRule .* – [E=W3TC_ENC:_gzip]

    RewriteCond %{REQUEST_METHOD} !=POST

    RewriteCond %{QUERY_STRING} =””

    RewriteCond %{HTTP_HOST} =www.[my website name ].com

    RewriteCond %{REQUEST_URI} /$ [OR]

    RewriteCond %{REQUEST_URI} (sitemap.xml(.gz)?) [NC]

    RewriteCond %{REQUEST_URI} !(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|index.php) [NC,OR]

    RewriteCond %{REQUEST_URI} (wp-comments-popup.php|wp-links-opml.php|wp-locations.php) [NC]

    RewriteCond %{HTTP_COOKIE} !(comment_author|wp-postpass|wordpress_[a-f0-9]+|wordpress_logged_in) [NC]

    RewriteCond %{HTTP_USER_AGENT} !(W3 Total Cache/0.9.2.4) [NC]

    RewriteCond “%{DOCUMENT_ROOT}/wp-content/w3tc/pgcache/%{REQUEST_URI}/_index%{ENV:W3TC_UA}%{ENV:W3TC_REF}%{ENV:W3TC_SSL}.html%{ENV:W3TC_ENC}” -f

    RewriteRule .* “/wp-content/w3tc/pgcache/%{REQUEST_URI}/_index%{ENV:W3TC_UA}%{ENV:W3TC_REF}%{ENV:W3TC_SSL}.html%{ENV:W3TC_ENC}” [L]

    RewriteCond %{REQUEST_METHOD} !=POST

    RewriteCond %{QUERY_STRING} =””

    RewriteCond %{HTTP_HOST} =www.[my website name edited].com

    RewriteCond %{REQUEST_URI} /$ [OR]

    RewriteCond %{REQUEST_URI} (sitemap.xml(.gz)?) [NC]

    RewriteCond %{REQUEST_URI} !(/wp-admin/|/xmlrpc.php|/wp-(app|cron|login|register|mail).php|wp-.*.php|index.php) [NC,OR]

    RewriteCond %{REQUEST_URI} (wp-comments-popup.php|wp-links-opml.php|wp-locations.php) [NC]

    RewriteCond %{HTTP_COOKIE} !(comment_author|wp-postpass|wordpress_[a-f0-9]+|wordpress_logged_in) [NC]

    RewriteCond %{HTTP_USER_AGENT} !(W3 Total Cache/0.9.2.4) [NC]

    RewriteCond “%{DOCUMENT_ROOT}/wp-content/w3tc/pgcache/%{REQUEST_URI}/_index%{ENV:W3TC_UA}%{ENV:W3TC_REF}%{ENV:W3TC_SSL}.xml%{ENV:W3TC_ENC}” -f

    RewriteRule .* “/wp-content/w3tc/pgcache/%{REQUEST_URI}/_index%{ENV:W3TC_UA}%{ENV:W3TC_REF}%{ENV:W3TC_SSL}.xml%{ENV:W3TC_ENC}” [L]

    </IfModule>

    # END W3TC Page Cache core

    # BEGIN WordPress

    <IfModule mod_rewrite.c>

    RewriteEngine On

    RewriteBase /

    RewriteRule ^index.php$ – [L]

    RewriteCond %{REQUEST_FILENAME} !-f

    RewriteCond %{REQUEST_FILENAME} !-d

    RewriteRule . /index.php [L]

    </IfModule>

    # END WordPress

  • graphitewpmud
    • Design Lord, Child of Thor

    Sorry Phil – I flushed the cache but I again got a 404 clicking on a link on google.

    Whats puzzling is that this problem is not there in another website… it should match the url as close as possible to what is present rather than just return a 404…

  • Mason
    • DEV MAN’s Sidekick

    Ugh, that htaccess file needs some lovin’.

    Find the default htaccess file for your install (wordpress or multisite – subdomain or subdirectory install) and use that.

    As to the /postname/ in permalink debate, this has been corrected within WordPress core and is no longer a concern as of WordPress 3.3 (due in November).

    Relevant track tickets w/ fixes:

    http://core.trac.wordpress.org/ticket/10249

    http://core.trac.wordpress.org/ticket/16687

    http://core.trac.wordpress.org/ticket/17177

    So the performance issue won’t be relevant here shortly. A site with that many posts – I’d just leave the permalinks as is. You could even apply the fixes manually and then they’ll just be overwritten once the update is released if that’s a concern.

  • Mason
    • DEV MAN’s Sidekick

    Hiya,

    As we haven’t heard back from you we’re going to assume the problem was sorted out and mark this ticket as resolved.

    If it wasn’t resolved, or you have any more questions related to this thread please feel free to post them below and tick the ‘Mark as Not Resolved (re-open)’ box below the post area (or else we’ll miss it!)

    Otherwise, thanks for using the forums, and for being a member of WPMU DEV, it’s a pleasure to help you out and we look forward to being of assistance in the future.

    Thanks!

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.