Jump to content

Remove .HTML extension. Please give me back WHMCS before 7


yggdrasil

Recommended Posts

Is there any technical way to remove the .html extension behind the FAQ articles and news announcements in WHCS 7.x?

When using fully friendly URL's, in the past this was not so. Now the new versions appends .html on each end URL which is horrible and causing me tons of problems with other applications. Sadly, this does not seem to work with just Apache rewrite rules either because it seems some bright mind at WHMCS decided to put the in the code for internal URL's routing inside IonCube, you cannot manipulate this with templates anymore. The result is that you cannot actually affect just with Apache rules the way URL's work on WHMCS. I was able to remove them in the past and I know for a fact that the old WHMCS provided .htacces rules still work with the 7.x, and those rules do remove the end .html as opposed to the new proposed rules, but the problem I have is that for example when someone votes on a article clicking the Yes or No, WHMCS directs it to the URL ending with .html and so gives an error. The vote actually is still registered by the system. The problem is basically WHMCS not respecting my SEO .htaccess rules and trying to force the .html on the URL internally. And in the boxes in the homepage when someone is logged in, surprised, those news announcements also have .html on the end, and the code is pulled from who knows who, since its not in the templates either.

I have considered now completely stop using WHMCS for the support section, that includes FAQ and News announcements because support at WHMCS is completely and utterly useless. And since they hide everything in the code it seems now its basically impossible to apply .htaccess rules to the WHMCS, like you could with version 3, 4, 5 and 6.

I'm PISSED to hell with this with WHMCS. My Google traffic dropped 95% because of incorrect URL's and errors and it seems there is no way to fix this because WHMCS has decided to hide and force their SEO way of doing things. I have considered dropping WHMCS completely at this point because this is just disgusting from any software company. A PHP software that cannot be linked or changed with .htaccess rules because they dynamically generate the internal links, its their way or the highway now. I paid for the software and they are not allowing me control how my site looks or how I link (structure). This is absolutely unacceptable to me that a software will not hide the URL structure in obfuscated code so you cannot link or proper connect your pages together. I'm actually starting to consult a legal person about this because this is not what I paid originally with WHMCS and WHMCS is forcing us with upgrades since they don't support older releases. I find it unacceptable that they will pull this sort of garbage with newer releases and start to hide code that now even affects links on a site. This is not what I paid for originally and I consider it a breach of license. I feel scammed at this point to be honest. This are not minor changes. They completely broke how the SEO stuff works. That is fine, all software have changes, but WHMCS has removed this from templates and customers cannot change the routing of URL and links anymore.

I'm 100% this is not what I signed up for. I trialed one software, it worked and I purchased it. Then WHMCS starts to remove things and put them behind encoded files that I can't access anymore which affect critical parts of my business. I have tried almost every possible solution in the book for 3 months. Nothing works, I need access to the damn URL routing/linking code parts because WHMCS generates them with PHP which is encoded. You can't just change this on the web server anymore which makes me furious.

Link to comment
Share on other sites

  • 3 weeks later...

Option one. Let WHMCS do its things and fix your SEO at the very end assigning your canonical URLs to every page. Basically with an action hook you have to recreate the right URL and use it as canonical. It's a bit boring but doable. This way it doesn't matter how the URL is assembled. With canonical URLs the query string counts nothing.

Option two. Why are you still using WHMCS for FAQs and Announcements? These sections not only have problems but they're even a bit ugly and painful to use as an administrator. I mean they're almost the same since v5 🤫 Just use Wordpress or a module that handles contents better.

Link to comment
Share on other sites

1 hour ago, Kian said:

Option one. Let WHMCS do its things and fix your SEO at the very end assigning your canonical URLs to every page. Basically with an action hook you have to recreate the right URL and use it as canonical. It's a bit boring but doable. This way it doesn't matter how the URL is assembled. With canonical URLs the query string counts nothing.

Option two. Why are you still using WHMCS for FAQs and Announcements? These sections not only have problems but they're even a bit ugly and painful to use as an administrator. I mean they're almost the same since v5 🤫 Just use Wordpress or a module that handles contents better.

Well, forget WHMCS fixing this. And since its encoded I cannot fix this either. I'm actually considering not using the news and faq like you said, not only they are mostly useless but they are very buggy and just give me troubles, troubles and more troubles on every update. Like you said, WHMCS is not updating that stuff for years. The help section is poor and pathetic out of the box and you need to add tons of functions to make it usable. I'm considered purchasing something like this, its not encoded either, maybe WHMCS should learn form other vendors because their help section and features is just something you don't even expect on a free script. This is just an example but almost anything you can find is better than WHMCS:

https://www.knowledgebase-script.com/

The nice thing about using the one that comes with WHMCS is because its already integrated into your support system but I guess eventually I might not be using the ticket system either, at this point you are using WHMCS for billing only and replacing that will not be hard either. WHMCS is just losing users with their lack of attention and details. Both the news and knowledge base features are just horrible, both for customers and admins. Not something you expect on a paid solution in 2018.

Link to comment
Share on other sites

2 hours ago, radwebhosting said:

With Six template, it seems to work properly with conventional .htaccess Apache directives. Version 7.x updates require some changes to template structure from previous versions. Some unexpected/unintentional behavior can arise if custom templates from previous versions are not adjusted properly.

That is the problem. I always used .htaccess rules but starting with v7 they have encoded some URL's internally using their own routes, so even if you change them with .htaccess, WHMCS tries to use their own routes, paths and links which results in errors as you cannot change that with .htaccess, you will most likely get the 404 error page once WHMCS tries to use its own route path.

Before the changes, I could combine both changing the hardcoded URLS in the templates+my Apache rules. Now you can't. The routes and links are not in templates anymore but encoded in the core. You cannot affect them just with .htaccess rules. I had to end up creating hooks to fix some things, for example after someone hits the vote button in an article it shows the WHMCS 404 error (as my articles don't end with .html) so I had to create a hook that detects this and redirects the user back to the proper article (without .html in the back), the voting still works but WHMCS is just redirecting on POST things to their own URLs which you cannot change. Internally this is causing all sort of errors but I changed some things on the user side so its not visible. The problem is that you cannot change this. WHMCS will always default to its own SEO urls on POST and GET requests, they don't respect your rules anymore. And as I said, in the past all links could be just modified in the templates to fit this to your own system/rules. Starting with 7+ you can't anymore. Its all using the route path which is encoded. So it's the WHMCS way or the highway.

I'm considered just dropping WHMCS for the front end support site completely. Just use it for billing and ordering, not tickets, not FAQ, not articles, not news, not downloads, not nothing. Its all just a big mess and nothing can't be customized or added. Every other solution, even cheap ones seems better and are not encoded. I consider 50% or half of what WHMCS is worth to be customer care/support. Once I cannot use WHMCS for this, I'm really just one step closer to not using WHMCS at all anymore, since at this point its only a fancy billing solution and nothing more.

Link to comment
Share on other sites

Like I said in my previous post you can actually solve a lot of SEO issues just implementing canonical tag to your KB and Announcements pages. Even if the URL that visitors use is makes no sense, you can tell Google «Hey, ignore the URL in the address bar. The only correct URL is this one». This way Search Engines will index your pages with canonical URLs instead of fuzzy ones created by WHMCS. You could try it as last resort.

That said, even before we start debating about the lack of features of KB and Announcements sections, lot of people seem to ignore that there's a way bigger problem. These pages (actually it's the entire WHMCS but that's another story) use session-based language system. Spiders don't use sessions therefore even though you invest time and effort to create localised contents, Search Engines will index only the default language of WHMCS.

Personally just for this reason you shouldn't use KB and Announcements. Anyway I wouldn't be so critical. Both sections with all their limitations still make sense. For a large number of people they're enough okay. It's clear that if you want something more professional you have to invest time creating your own solution. You can get pretty damn good results without even installing an external CMS.

Link to comment
Share on other sites

On 10/29/2018 at 8:48 PM, Kian said:

Like I said in my previous post you can actually solve a lot of SEO issues just implementing canonical tag to your KB and Announcements pages. Even if the URL that visitors use is makes no sense, you can tell Google «Hey, ignore the URL in the address bar. The only correct URL is this one». This way Search Engines will index your pages with canonical URLs instead of fuzzy ones created by WHMCS. You could try it as last resort.

That said, even before we start debating about the lack of features of KB and Announcements sections, lot of people seem to ignore that there's a way bigger problem. These pages (actually it's the entire WHMCS but that's another story) use session-based language system. Spiders don't use sessions therefore even though you invest time and effort to create localised contents, Search Engines will index only the default language of WHMCS.

Personally just for this reason you shouldn't use KB and Announcements. Anyway I wouldn't be so critical. Both sections with all their limitations still make sense. For a large number of people they're enough okay. It's clear that if you want something more professional you have to invest time creating your own solution. You can get pretty damn good results without even installing an external CMS.

They do if you hard code the URL's with the language and the URL's with rules. Example, for Italian URL's you force the link to be language=italian on all URL's that match example.com/whmcs/it

This not only requires the SEO .htaccess rules that detects the URL's, but also changing the URL's everywhere else in the templates for WHMCS and the rest of the code, you add a specific trigger to force WHMCS to use one string based URL which changes depending where a visitor/search engine landed. They are indexed properly as I used this in the past and Google was able to show the correct URL for each language since each URL was different in looks and the content was also different. This was entire doable before v7.2 but with the new SEO changes, WHMCS does not respect anything anymore. Its even worse, now WHMCS uses internal redirection and routes for some POST actions, which you cannot change in the templates, so this does not work correctly anymore as WHMCS is now in control of how visitors are redirected and how they follow links. So even if you try to force this with a canonical URL or web server rules using .htaccess, WHMCS still redirects to what ever it wants (usually English).

Search engines will index what ever you are transferring to the browser, so if you are indexing language=english and then sending the same spider to language=italian, they will index different content. This works with all search engine and I also have my own indexing for internal search that also gets this correctly, so the sessions do work for spidering. The problem is separating the URL's so its not duplicated and the tricky part is making sure the spider then does not follow an english or another locale URL for that part of your site and messes up content. You can force for example that if Google lands on www.example.com/whmcs uses English (assuming its your default locale), but if Google goes to www.example.com/whmcs/it it will be forced to append in the end of all links language=italian

You need to combine this on your Apache/Web server rules. WHMCS does not do this by default. That way, you are forcing the locale string based on the URL format. The problem is internally, WHMCS will now use all those urls as language=italian on the back. On the browser side, they just see the regular SEO url's. Well, this worked in the past, does not anymore, as WHMCS gives all sort of 404 errors now when you try to use your own internal URL's string. To resume. WHMCS is now broken with languages. You cannot use the language=locale on every single request as you could in the past. It works for some things, but with some POST request, searches, and some internal routing it does not work anymore since WHMCS took the brilliant approach to development that you should not be in control on how WHMCS links to different pages.

Edited by yggdrasil
Link to comment
Share on other sites

On 10/29/2018 at 3:59 PM, Kian said:

Basically with an action hook you have to recreate the right URL and use it as canonical. It's a bit boring but doable.

Nice workaround, @Kian. Would you mind sharing the basics of how this works? It would probably help users for years to come who are scouring Google for solutions.

Edited by radwebhosting
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use & Guidelines and understand your posts will initially be pre-moderated