Optimise ASP.NET CMS KooBoo for good SEO - asp.net

I am considering using KooBoo CMS ASP / MVC CMS for a client.
One of their requirements is good SEO optimisation. What is the best way to do this in KooBoo. How does it compare to, say, Orchard CMS in this area? (and Wordpress, say).
I am talking about things like keywording, friendly URL's & generally behaving in a way Google likes and rewards in search results.
Thanks.

You can create the meta tags and description for each pages in KooBoo. Please following the step which is mentioned in kooboo help.
http://www.kooboo.com/docs/Kooboo-CMS/Page-settings
Please also see below link for URL rewriting of different site.
http://www.kooboo.com/docs/Kooboo-CMS/Kooboo-multi-sites-solution

I believe that extra support options were added for V4 of Kooboo. You now have a number of options.
Each Kooboo 'Site' has a 'System / Settings' page with a 'HTML Meta' section on it. This allows you to define site-wide meta tag values for all the common meta tags, as well as defining some of your own custom tags.
The same level of detail can be achieved on a page-level basis, where these values will be prefixed to the site-level values, allowing you to have titles like: -
You can also use tokens in the settings, that will get replaced with context-relevant values:
You also have a very high level of control over the URL's that Kooboo allows access to. Its default approach is for each piece of content to generate a SEO friendly "user key" that can be used to refer to the content. This User Key can then be used as part of the URL to access the page.
There is also native support for 'Robots.txt' and whilst generating a 'SiteMap.xml' is a little more hands-on, it offers perfect granular control for the developer: http://kooboo-cms.ru/articles/detail/sitemap-for-kooboo-cms/
I'm not yet familiar enough with Orchard to say if it offers the same level of SEO targetting, but I think Kooboo has all the major options nicely covered.

Related

Custom code in Wordpress: what are the programming limitations?

I have a website (www.easterisland.travel) that I'm considering converting into a Wordpress site. Why? Basically for the following reasons:
1: To use a CMS, so that I can teach others to further add content to the website without having programming knowledge. I would built the advanced pages myself though, and the pages that others would manage would be simple information pages.
2: Access to all of these great plugins, for example the "similar pages" plugin at the bottom of each page (which I haven't found as a independent solution for raw webpages), which is just fantastic to keep people reading.
At my site I have lots of custom stuff like booking systems that I've created. There's an AngularJS shopping cart (www.easterisland.travel/tours/), instant online booking and payment (using PayPal's Express Checkout) etc. There's a page for cruise ship shore excursions (www.easterisland.travel/cruise-ship/) that's automatically generated from database data, and I've created a system where I can add cruise ships and shore excursions (adding correct itinerary, price, info etc). Passengers can also log in and communicate to other future fellow travelers within the same group, and get organized for meeting up on the tour day. I have many more plans to go as well, for example showing hotel info, displaying TripAdvisor data (using TripAdvisor API) etc.
The million dollar questions are:
1) Can all of this be achieved in a Wordpress site? Can I add all of these systems using this platform? What are the limitations?
2) Would it make sense to change to Wordpress?
3) What implementation should be used? I don't want my code to be removed or altered when Wordpress is automatically updated.
Thank you!
Wordpress doesn't have any limitations, you can extend its default functionality if it can't accomplish what you need with either plugins or custom code. and having a framework is always better than building from scratch in many ways.
HOWEVER, wordpress was originally design as blogging platform, and if you plan on extending its simple functionality you should take some time to understand how it works to properly integrate your custom needs or things could get ugly,
If you know how to interact with the database, you can easily do what you want, there are built-in functions you can use according to your needs for database interactions or just create your own if it doesn't fit well very much.
just a quick overview with wordpress database.
wp_posts - where sites main front-end data are stored, like posts, pages,
wp_postmeta - storage for additional data that are stored on wp_posts
wp_comments - storage for user interaction data for wp_posts like comments, I've also used these before to store user/admin messages.
wp_terms - use for dividing/categorizing wp_posts data, like categories and tags,
wp_options - use for back-end storage data and configuration.
You'd need to check out these functions as you're probably will encounter them in the future
https://codex.wordpress.org/Function_Reference/add_post_meta
https://developer.wordpress.org/reference/functions/get_post_meta/
https://codex.wordpress.org/Function_Reference/update_post_meta
https://codex.wordpress.org/Function_Reference/register_post_type
https://codex.wordpress.org/Function_Reference/register_taxonomy
https://codex.wordpress.org/Class_Reference/WP_Query
If you also need database interaction, check out https://codex.wordpress.org/Class_Reference/wpdb
and for front-end implementation, check this out https://developer.wordpress.org/themes/basics/template-hierarchy/, though I never used any other wordpress theme except Genesis Framework for these past 5 years as I never had to mess too much with HTML codes and almost everything can be customize using actions & filters. I advise you to use Theme Framework (and remember to always use CHILD THEME to be safe from Main Theme upgrade)
You might also want to check -> https://github.com/WebDevStudios/CMB2 (I prefer to use this than Advance Custom Fields plugins.)
Booking system in wordpress is a bit complex, I've successfully use gravity form as booking system with AngularJS + Ajax, but never tried a custom one from scratch and don't have a chance to use booking plugin as never encountered a cleint that wants a simple booking system.
Just to answer your question.
Yes, It can, for comparison, take a look at woocommerce plugin functionality and features, I believe thats more complex than what you need.
It would make sense to convert a site built from scratch to any CMS (wordpress is an option), the CMS is up to you, though its better to use the one that you know more for easier integration and customization.
You can use your child theme "functions.php" for extending your custom functionality, like create a folder in your theme for all your custom code and include/require it on your child theme functions.php or better create your own plugin to properly integrate them, you can divide the functionality in plugins, like plugin for booking system and plugin for payment functionality. check this out https://github.com/hlashbrooke/WordPress-Plugin-Template
I hope this would give you an idea.
Yes you can do all that. You will need someone with knowledge in wordpress themes and plugins but it is possible. The beauty of wordpress is, that you can write "bare" php code, and the small amount of functions to interact with wordpress are well documented.
Wordpress itself, is structured "simple" (compared to fancy tools like magento for example). So all it manages, are posts / pages / ... which, more or less derive from the same database object. You can add functionality to those things (for example, make posts cruise ships and other posts to shore excursions) or you can add your own database structure on top.
The theme system is bare php code, so you dont have to crawl through a thousand lines of xml codes to adjust little things.
Wordpress power derives from its simplicity of the "core wordpress" and the feature volume based on all those plugins. I believe alot of people would say, that you should go for a custom solution (based on symfony for example), or a CMS that already comes with more of your desired functions (like magento which has the checkout / paypal included), but I (as a wordpress fan) would see no problem to take wordpress.
I have never failed to find a plug-in to do what I needed! I manage three WordPress sites - although none of them is commercial. (Yacht Club, Cycling Club and Political Party EDA).
There is a plug in that allows PHP on any WordPress page, but it means that the Editors all have to write using the text (HTML) view rather than Visual tab. I found that useful for some of my pages - and I'm the only "Editor."
There's also a plug-in that allows you to code PHP in Widget. That doesn't have the above disadvantage.

How to add schema in a Wordpress site for Google knowledge graph?

I'm confused to add schema in my Wordpress site for Google knowledge graph. I would like to show my knowledge graph in Google like - Royal Caribbean and ASOS etc. I'm not a brand like that as well as don't have Wikipedia Page too. But, I would like to add this information - my company name, founder, founded year, content, social media links etc.
Someone suggest me for this.
An easy way to add microdata to your WordPress site is using a plugin, you can find some interesting plugins for this purpose here:
https://wordpress.org/plugins/tags/microdata
Another option to add structured data markup is adding the snippets "by hand" on a contact page or in a text widget.
For more information have a look at schema.org/docs/gs.html and at developers.google.com/structured-data/customize/overview.
Regards.
The best option is to use the de facto standard concept schema:LocalBusiness and its properties from http://schema.org/LocalBusiness. On the bottom of this page, there are examples for implementing organizational data as structured data in serializations such as HTML5 Microdata, RDFa, and JSON-LD.
Once you implemented the code, you can test it at https://search.google.com/structured-data/testing-tool to make sure that it contains no errors and it is ready to be indexed by Google.
Install it in the usual way by going to Plugins > Add New and searching for Schema. Click Install and then Activate. Once the plugin is installed and activated, go to Schema > Settings to start adding Schema markup to your site.
You can validate your schema markups by Google's Structured Data Markup Validation Tool.

Put ads on Orchard web site

I am very new to orchard and to web development itself. I would like to know is it possible to integrate/add ads on Orchard web site and is there any resource about that.
Yes it is possible, but you would have to build a module to do this yourself, as there aren't yet any modules in the Orchard Gallery that handle ads. There are some easy ways to do it without adding any code; it really depends on what you need to do to place your ads.
If you simply need to drop some html tags into certain pages you can accomplish this through the Orchard dashboard UI in at least a couple of different ways. The easiest would be through Widgets. Dashboard->widgets->Sidebar->Add->HtmlWidget. Drop in the HTML tags into the wysiwyg editor there and set up the rules so that this widget publishes to the desired Zone, and on the desired pages. Note, the instructions above said to publish to the "Sidebar" zone, but you could substitute that for any zone you want. You can use rules/layers to adjust which URL's your ads appear on.
If you need more complex behavior you might accomplish it by creating a custom content type that has a BodyPart, or you could code a custom widget. For example some systems like Doubleclick for Publishers want you to add a random string to the HTML of the ads for cache busting. I don't know that Orchard has any token replacements that could be used for that, but you could do it yourself by coding your own part that does a token replacement on the body part.
Add scripts directly to the view you want to show your ads on.

Migating from CakePHP to Drupal, functionality question

(I've posted this on the drupal forum too btw)
I'm converting the company websites to use Drupal, or at least trying to check that its going to be the best way forward. I have a background in PHP development, and I'm currently using the CakePHP framwork. I've built this site (not my design) and I can see how to replicate most of the functionality using Drupal, most likely using the CCK module.
http://preview.tinyurl.com/yk6u8mt
As you can see from the homepage:
A user chooses a country.
The country is passed using an ajax call to a script that decides which phone is best based on 'in country' network coverage.
A div is shown recommending the visitor the best phone for that country.
I'm wondering how to go about this in Drupal, I'm definitely not after a step by step guide, I just want to know if this kind of thing is possible with Drupal, and what approach to use.
If someone can help that would be superb. Thanks.
Okay, so you've got a path you're defining in hook_menu, which is where your form is being presented - or else you've got it set up as a webform in a node, that could work too.
Either way, in your form you're going to be using AHAH - check out http://api.drupal.org/api/drupal/developer--topics--forms_api_reference.html/6#ahah and http://drupal.org/node/348475 .
Basically, you're going to define another path in hook_menu that's of type MENU_CALLBACK, and which will receive the country as input, and then will return the div that you'll display on the screen.
One core example of AHAH that may be useful to you is where you're entering a password and it lets you know if the password is secure enough - check that out.
Edit: There's also some good examples at http://drupal.org/project/examples.
I would look into using CCK and views. you can set up filters for the views. If filters don't work, you have the ability to include php code. I have also successfully added jquery code in the header of a view through which I was then able to have my view filtered by what is typed in a text box.
Coming from CakePHP using Drupal is a pain in the a** - even more for developers.
It's application structure might be designed to ease extensibility but this only means you have a system to enable your own plugins and themes.
While modules are basically the M+C-part the themes are the V-part of an MVC-application. The problem is that this seperation is not very strict in Drupal - in fact you have to break it sometimes in order to make things work (e.g. you have to include a theme_mymodule_myfunction() into your module as default output which you then can override with your theme using mytheme_mymodule_myfunction() ) And don't even bother looking for classes ( see http://drupal.org/node/547518 ).
Also there is no real link from a module to a theme. On many occations this is a good thing as you can switch modules and themes seperatly without creating a problem. For application builders coming from CakePHP (or any other framework) you often feel a lack of "wholesomeness" - you create parts for a base software and have to live with it's drawbacks.
IMHO I wouldn't recommend this step. Drupal is fine if you have to manage a website and might add a few modules to add neccessary value (image gallery etc.) but I definetly don't recommend it as a base for a customized web-app.

How to generate and maintain lots of Landing Pages?

Currently I have to think of a solution for generating and maintaining lots of static landing pages for a membership-only e-commerce site (e.g. we sell products X, Y and Z but only to our members and we want to make a (SEO-friendly) landing pages for each product). Each page would be almost unique in content and the meta data but they would have almost always the same design / template.
The easiest approach short-term would be to code everything by hand in PHP, but the quantity would make it really cumbersome to maintain them; furthermore, it is possible that some people from the marketing department would like to generate and administer their own landing pages, none of them are tech-versed (not even basic html-tags). Therefore, I was thinking of using Wordpress and modifying it for my purposes.
Is this a good idea?
Is there a CMS better suited for this task?
Could you recommend me a better approach?
I would not recommend wordpress for an e-commerce site, as it designed primarily to be a blog and therefore would not be particularly easy to adapt.
You may want to look at OScommerce, or another open source e-commerce CMS. These would probably best suit your needs, especially if you wish to actually accept payment online.
PHP is a GREAT way to maintain what you are trying to do. Essentially you said only the content will change. With PHP, you can simply include all of the templates for re-use over and over again, and then you only need to deal with the content itself, which, if you know how to use Server-Side-Includes, can be done by as easily as swapping .txt files that contain your content.
Take a look at this video tutorial http://carsonified.com/blog/design/how-to-design-a-portfolio-site-part-2/, it is not exactly the same thing but look how he uses Wordpress 'customs fields'.
Basically, you create a template landing page with placeholder variables for the parts that change with each page (title, product name, etc.) and then on the post page you can add custom fields that will populate that information.

Resources