1. Kayako Download customers: we will continue to develop and support Kayako Download beyond July 2017, alongside the new Kayako for existing customers.

    Find out more.

  2. The forum you are viewing relates to Kayako Classic. If you signed up or upgraded to the new Kayako (after the 4th July 2016), the information in this thread may not apply to you. You can visit the forums for the new Kayako here.

SEO Friendly URLs

Discussion in 'Using Kayako Classic' started by stromimport, Oct 19, 2010.

  1. chrisrouse

    chrisrouse Reputed Member

    Is it not possible to have the KB use just an article number instead of the longer tokens in the address? Something like www.DOMAIN.com/support/kb/1234?
  2. Jamie Edwards

    Jamie Edwards Staff Member

  3. masterctrl1

    masterctrl1 Kayako Guru

    The integer values don't seem to hinder anything.
    Google isn't having any issues finding our KB content.
    Bing, however, fails to locate the article when searching for the same text string.
  4. Fabian Wosar

    Fabian Wosar Member

    Would you mind sharing the nginx rewrite rules? :)
    Alex W and Anderson Farias like this.
  5. KabanaSoft

    KabanaSoft New Member

    Ben, thank you very much sir...i was able to follow your instructions and implement this in less than 3 minutes...works like a charm
  6. Tom Lesniak

    Tom Lesniak Established Member

    Worked like a charm using Apache, once I remembered to edit my /etc/httpd/conf/httpd.conf file and set "AllowOverride All" in the correct <directory> section.

  7. Yes, please. We're just installed Kayako with Nginx, following Kayako wiki recomendation, and we'd like to know how to setup this rules in Nginx. Thanks
    Alex W likes this.
  8. Ali Dursun

    Ali Dursun Member

    Hi there,

    the SEO feature is very important; so we are using Kayako Fusion 4.51.1891

    What is to setup that SEO works with this version for

    • clients
    • staff area
    • admin area
    • knowledgebase article
    Can you please give me some brief instructions kindly!
  9. WireNine

    WireNine Established Member

    Is there an updated code for this to change the URL structure from:




  10. masterctrl1

    masterctrl1 Kayako Guru

    Is this why some search engines work and others don't?
    We get site hits all day long from Google with the default kb/article/view/1/1/title format, but none from Bing.
  11. puravida

    puravida Member

    Just for others who may have been losing their sanity over this, like I was, I am posting my experience here.

    We are using nginx with php-fpm and we found that the complex Apache rewrite rules (and sample nginx location directive) were unnecessary. The real problem finally came down to a single question mark.

    add define('SWIFT_BASENAME', 'index.php?');
    right after "define('SWIFT_INTERFACEFILE', __FILE__);"

    Once we put the ? on index.php on each of the admin/index.php, staff/index.php, and visitor/index.php files; everything worked like a charm. Of course, the _swift/config/config.php still had SWIFT_BASENAME as '' so that the rest of the site worked.

    As of this post date, you can see ours in action at http://support.shrinktheweb.com

    I hope this helps others who are struggling with these instructions! :)
    Jamie Edwards likes this.
  12. Jamie Edwards

    Jamie Edwards Staff Member

    You didn't need to add in the nginx location directive at all?
  13. Jamie Edwards

    Jamie Edwards Staff Member

  14. puravida

    puravida Member

    Hi Jamie,

    I was not notified of your reply and just happened to need this info again. :)

    [removed to avoid confusion]
  15. puravida

    puravida Member

    Oh wait... perhaps I spoke too soon. Let me check our directives to refresh my memory. I did say they were not needed, so let me be certain.
  16. puravida

    puravida Member

    Ok. It appears that we did not need those directives. Here are the location directives we used:
        location / {
            root  /var/www/html;
            index  index.html index.htm index.php;
            try_files $uri $uri/ /index.php?$request_uri;
      # pass the PHP scripts to FastCGI server listening on
      location ~ \.php$ {
          fastcgi_index  index.php;
          fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
          include        fastcgi_params;
    Jamie Edwards likes this.
  17. z33k3r

    z33k3r New Member

    Does anybody have a definitive answer to how you should configure Nginx? I'm not finding ANY complete answers that validate...
  18. z33k3r

    z33k3r New Member

    This is a working config for Linux with Nginx and PHP-FPM... as far as I've been able to get it working:
    server {
            listen 80;
            server_name sub.domain.tld;
            access_log /path/to/logs/access.log;
            error_log /path/to/logs/error.log;
            root /path/to/root_dir/www;
            try_files $uri $uri/ /index.php?$uri;
            location /admin/ {
                    rewrite ^/admin/(.*)$ /admin/index.php?$1? last;
            location /visitor/ {
                    rewrite ^/visitor/(.*)$ /visitor/index.php?$1? last;
            location /staff/ {
                    rewrite ^/staff/(.*)$ /staff/index.php?$1? last;
            location / {
                    index  index.html index.htm index.php;
                    try_files $uri $uri/ /index.php?$request_uri;
            location ~ \.php$ {
                    fastcgi_pass unix:/var/run/php5-fpm.sock;
                    fastcgi_index index.php;
                    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                    include /etc/nginx/fastcgi_params;
  19. z33k3r

    z33k3r New Member

    Also found this page on the wiki. It mentions this code which DID NOT work:
    location ~ ^/(admin|api|cron|intranet|rss|setup|staff|visitor|winapp|__swift|__swift/cache|__swift/onsite|onsite|__swift/thirdparty/fusioncharts/Code/FusionCharts|__swift/thirdparty/fusioncharts/Charts|__swift/themes|__swift/javascript/__global/thirdparty/TinyMCE/plugins)(.*)$ {
        try_files $uri $uri/ /$1/index.php?$2;
  20. Chris Plapp

    Chris Plapp Reputed Member

    I have gone through this post and not knowing anything about Nginx, can I implement what Tom posted below:
    1. edit the config
    2. create the .htaccess file
    And not have to worry about Nginx and get the same results?


Share This Page