Jump to content

Working with SEO, texts and URLs in KVS themes


Tech Support

Recommended Posts

All KVS themes use the same approach of configuring texts and SEO. In admin panel you can change any text in Website UI -> Texts section. You can simply search by the text you want to change and KVS will show you all texts where this fragment is used:

test_search.png.331f034071b931c517ba265444952794.png

 

SEO

In Website UI -> Texts section filter by SEO group. You will see a lot of texts, which can then further be filtered by Page, for example select Index page:

index_seo.png.4d8f108c6c656c53b6ddbd40685ccb83.png

For each page you will normally see 3-5 texts like this:

html.index_title - for HTML title of this page
html.index_description - for HTML description of this page
html.index_keywords - for HTML keywords of this page
html.index_seo_title - for SEO title displayed on this page
html.index_seo_text - for SEO text displayed on this page

SEO title and SEO text are not available for every page, normally they are available on Index and on main lists (videos by category, by tag, by model, by search and etc). The other 3 texts are available for all pages.

Some pages that render different lists may have many different versions of these texts. For example Common Videos List / Common Albums List pages render videos by category, videos by tag, latest videos, top rated videos and etc. For each of these variants you will see a set of these texts:

common_videos_seo.png.b0481d0dfd563f931635fbd156a3bb81.png

On Index page you would normally write some static text there, describing your site or whatever you think may be useful for your SEO. When a list page is displayed by category or tag or search, you should normally show different texts for different categories or tags or search requests to have better SEO coverage. You can do that with using tokens, that will be replaced by some data from category, tag and etc.

For example search for texts by this external ID: html.videos_by_category. You will see the following 4 texts:

categories_seo.png.962ec7a031ec83115820534513c8ca80.png

These texts are used on page that renders videos list from a specific category. You can see that these texts use some tokens inside them, the tokens will be replaced with some data from category that is currently displayed. So "%title% Videos" will be replaced with "Music Videos" on Music category and "Funny Videos" on Funny category, "%description%" will be replaced with category description and "%synonyms%" will be replaced with category synonyms. You can play with these tokens to get some unique texts for your site. All supported tokens will be listed below.

And there is also advanced opportunity to randomize texts for different objects, which is especially useful in tags and search results, where there can be a big variety of different texts.

Consider the following example for tag page title:

html.videos_by_tag_title = [rand]Free || Cool || Best || HQ || HD || High quality[/rand] %tag% videos

There is a [rand]...[/rand] block inside this text. This block will force KVS to take one of the listed fragments randomly for every tag page. So here are different displays for different tags:

  • Free music videos
  • Best funny videos
  • High quality mobile videos
  • ...

The key thing here is that random fragment will remain constant for the same tag, unless you update this text notation - updating it will result in another randomization seed. So there will always be "Free" selected for "music" tag and there will always be "Best" selected for "funny" tag. Again, this will remain constant for the time when you don't touch this text anymore. Once you change it (e.g. change the order of words, or anything else in this text), there may be another random fragments selection.

You can use [rand]...[/rand] block everywhere in SEO texts (title, desc, keywords, SEO text and title). But title and SEO text / SEO title are the best places for this. Usually it makes sense to use this with tags and search queries due to their big volume.

Here are tokens supported for different pages (token meaning should be clear from token name):

- Videos / albums by category:

%title%, %description%, %synonyms%, %total_videos%, %total_albums%, %total_photos%, %today_videos%, %today_albums%, %custom1% - %custom10%, %first_object_title%, %first_object_description%

 

- Videos / albums by tag:

%tag%, %synonyms%, %total_videos%, %total_albums%, %total_photos%, %today_videos%, %today_albums%, %first_object_title%, %first_object_description%

 

- Videos / albums by model:

%title%, %description%, %alias%, %country%, %city%, %height%, %weight%, %birth_date%, %age%, %total_videos%, %total_albums%, %total_photos%, %today_videos%, %today_albums%, %custom1% - %custom10%, %first_object_title%, %first_object_description%

 

- Videos / albums by content source:

%title%, %description%, %total_videos%, %total_albums%, %total_photos%, %today_videos%, %today_albums%, %categories_as_string%, %group_as_string%, %custom1% - %custom10%, %first_object_title%, %first_object_description%

 

- Videos by channel:

%title%, %description%, %total_videos%, %today_videos%, %categories_as_string%, %custom1% - %custom10%, %first_object_title%, %first_object_description%

 

- Videos / albums by search:

%search_keyword%, %first_object_title%, %first_object_description%

 

- Video view page:

%title%, %description%, %duration%, %rating%, %rating_amount%, %video_viewed%, %username%, %release_year%, %custom1% - %custom3%, %tags_as_string%, %categories_as_string%, %models_as_string%, %content_source_as_string%, %dvd_as_string%

 

- Album view page:

%title%, %description%, %photos_amount%, %rating%, %rating_amount%, %album_viewed%, %username%, %custom1% - %custom3%, %tags_as_string%, %categories_as_string%, %models_as_string%, %content_source_as_string%

 

URLs

There are 2 places where you can configure URL patterns:

  1. In Settings -> Website Settings you can configure system patterns to the main object pages. These patterns are used in admin panel and other system functionality, so they are managed here in this special place:
    system_url_patterns.png.5482d0795fdb2c1a806ccb18b8b044c4.png
  2. In Website UI -> Texts section you can configure all other URL patterns used by your theme. You can filter them by URL patterns group filter:
    theme_url_patterns.png.0d841153a694e9abdc128671b1c0abfb.png

Some URL patterns also include a token, where dynamic URLs are built (category page, tag page and etc - %DIR% on the above screenshot). If you change such patterns, you should also make sure to keep the same token there, otherwise URL patterns will be broken.

Changing URL patterns is not recommended for basic users. In order for new URL patterns to work you will need to add changes to /.htaccess file and modify RewriteRules there. KVS uses mod_rewrite to manage URL mapping, which is difficult to use, but the most flexible way and provides unlimited customization capabilities.

Here is small example. If you want for example to change this pattern:

urls.albums = /albums/

To:

urls.albums = /photos/

you also need to locate the corresponding rule(s) in /.htaccess file. Please be aware that each list page RewriteRule also has a sister rule for pagination, e.g. to make these pages work:

/albums/2/

/albums/3/

/albums/4/

...

Usually these 2 sister rules are grouped together:

RewriteRule ^albums/([0-9]+)/$ /albums_list.php?from=$1 [L,QSA]
RewriteRule ^albums/$ /albums_list.php [L,QSA]

You should change pattern in both of them to photos:

RewriteRule ^photos/([0-9]+)/$ /albums_list.php?from=$1 [L,QSA]
RewriteRule ^photos/$ /albums_list.php [L,QSA]

Please note that end of the rule remains the same as before, you only change the first part of rewrite rule (e.g. this part /albums_list.php [L,QSA]).

Again, we do not recommend to change this for basic users, URL patterns are not something that much affects anything.

  • Like 1
Link to comment
Share on other sites

  • 2 years later...
  • 7 months later...
On 5/2/2023 at 5:25 AM, Helmuts DNMUM.com said:

It would be great hearing of some approaches from users modifying these SEO texts.

tx

Helmuts

explorer_GYaLda7UOP.png

This is an interesting subject but doesn't seem to attract much discussion on these forums. Did you make any developments on these aspects? I am taking a closer look at this now as I suspect it needs some attention.

Link to comment
Share on other sites

  • 4 weeks later...

KVS allows large numbers of categorization features/pages to be created eg categories, models, tags etc. These can be set to be active or inactive. If tags (or models etc) are set to inactive then the tags URLs exist but the tags would not appear in the tags list or be linked so invisible to users - is this correct?

If tags (or models etc) are set to be inactive - does this mean they are also excluded from the sitemap and would be invisible to crawlers eg for google indexing?  

Link to comment
Share on other sites

21 hours ago, Jim said:

KVS allows large numbers of categorization features/pages to be created eg categories, models, tags etc. These can be set to be active or inactive. If tags (or models etc) are set to inactive then the tags URLs exist but the tags would not appear in the tags list or be linked so invisible to users - is this correct?

If tags (or models etc) are set to be inactive - does this mean they are also excluded from the sitemap and would be invisible to crawlers eg for google indexing?

Yes, this is correct. When inactive, they will not be displayed anywhere on the site, including video pages. However, their direct URLs will work, at the moment we don't have an option to return 404 error for inactive categorization.

With regard to indexing, I think they may be indexed anyway, even if not included into sitemap. They may have already been indexed, and the only way to remove them from index is to delete them (so that 404 error is returned by KVS for their direct URLs).

Link to comment
Share on other sites

Hey - I'm working on some SEO and text and titles - I can't seem to figure out how to get the 1st letter of every word to be a capital.
I have tried a few tricks I would use in WordPress for CSS - but it doesn't seem to work here - any suggestions ? 

I have a few 3 - 4 word tags -- example " The Funniest Cat Videos" -  but when using %tag% the title comes out "The funniest cat videos" -  I would like the 1st letter of each word to be a capital.

This is is my custom CSS I thought would work , but it doesn't seem to work, still shows the 1st word capitalized only. 
I have over 700 tags, so ideally I don't want to go in and edit each one.
 

/* Heading */

#list_videos_common_videos_list .heading h1{

text-transform:capitalize;

}

/* Heading */

.main .description-holder h4{

text-transform:capitalize;

}

/* Heading */

.col-video .title-holder h1{

text-transform:capitalize;

}

Link to comment
Share on other sites

  • 2 months later...

Hi,

I wonder, is it possible to change the filename of video files and screenshot files to contain the video title? By default, they contain only the ID. Which is good function-wise, but not so much SEO-wise. 

Link to comment
Share on other sites

SEO is not indexing KVS video files, because they are protected, so no sense to keep them in any specific filenames. Anyway it is not technically possible, and would not be possible in future as we will have to rewrite all KVS due to that.

  • Like 1
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.
Note: Your post will require moderator approval before it will be visible.

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.

×
×
  • Create New...