Jump to content

Search the Community

Showing results for tags 'categories'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


  • General Discussion
    • Announcements
    • Business Discussion
    • Business Services
    • Sell and Buy
  • Themes & templates
    • KVS default theme
    • KVS paysite theme
  • Educational / support
    • Technical Support
    • FAQ
    • Educational Series

Find results in...

Find results that contain...

Date Created

  • Start


Last Updated

  • Start


Filter by number of...


  • Start



About Me

Found 6 results

  1. The following can be done with just few steps in KVS: Step 1. Go to Website UI -> Pages -> Index page editor and insert list_categories block into the desired place in page template: {{insert name="getBlock" block_id="list_categories" block_name="Categories And Videos"}} Save. Step 2. Now you should see Categories And Videos block in the list of blocks on Index page. Open it for editing and configure the following settings: Cache lifetime (s): 3600 items_per_page (Integer): set 0 if you want to display all categories; otherwise set the max number of categories sort_by (Sorting): configure sorting as needed pull_videos (On/Off): enable pull_videos_count (Integer): set the number of videos for each category (in our example it is 3) pull_videos_sort_by (Sorting): set sorting for videos under each category NOTE: if you want that only certain subset of categories are displayed, you may need to enable some filters under Static filters parameters. In Template code specify this code (the code is given for KVS default theme and 5.2.0 version, it may not work in earlier versions): {{foreach item="item_category" from=$data}} <div class="headline"> <h2>{{$item_category.title}}</h2> </div> <div class="box"> <div class="list-videos"> <div class="margin-fix" id="{{$block_uid}}_items"> {{if count($item_category.videos)>0}} {{foreach item="item" from=$item_category.videos}} <div class="item {{if $item.is_private==1}}private{{elseif $item.is_private==2}}premium{{/if}} {{if $item.status_id==0}}disabled{{elseif $item.status_id==2}}error{{elseif $item.status_id!=1}}processing{{/if}}"> <a {{if $item.view_page_url!=''}}href="{{$item.view_page_url}}"{{/if}} title="{{$item.title}}" {{if $item.rotator_params!=''}}data-rt="{{$item.rotator_params|replace:"pqr=":""}}"{{/if}}> <div class="img"> {{if $item.status_id==0 || $item.status_id==1}} <img class="thumb {{if $lang.enable_thumb_lazyload=='true'}}lazy-load{{/if}}" {{if $lang.enable_thumb_lazyload=='true'}}src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-original{{else}}src{{/if}}="{{$item.screen_url}}/{{$lang.videos.thumb_size}}/{{$item.screen_main}}.jpg" {{if $lang.videos.thumb_size_webp}}data-webp="{{$item.screen_url}}/{{$lang.videos.thumb_size_webp}}/{{$item.screen_main}}.jpg"{{/if}} alt="{{$item.title}}" {{if $lang.enable_thumb_scrolling=='true'}}data-cnt="{{$item.screen_amount}}"{{/if}} {{if $item.is_private==0 && $item.formats[$lang.videos.preview_video_format_standard].file_path!=''}}data-preview="{{$config.project_url}}/get_file/{{$item.server_group_id}}/{{$item.formats[$lang.videos.preview_video_format_standard].file_path}}/"{{/if}} {{if $item.is_private==2 && $item.formats[$lang.videos.preview_video_format_premium].file_path!=''}}data-preview="{{$config.project_url}}/get_file/{{$item.server_group_id}}/{{$item.formats[$lang.videos.preview_video_format_premium].file_path}}/"{{/if}} width="{{$lang.videos.thumb_size|geomsize:'width'}}" height="{{$lang.videos.thumb_size|geomsize:'height'}}"/> {{/if}} {{if $item.is_private==1}} <span class="line-private"><span class="ico-private">{{$lang.videos.list_label_private}}</span></span> {{elseif $item.is_private==2}} <span class="line-premium"><span class="ico-premium">{{$lang.videos.list_label_premium}}</span></span> {{/if}} {{if $item.status_id==1}} {{if $lang.enable_memberzone=='true'}} {{foreach item="fav_index" from=$lang.videos.predefined_favourites}} <span class="ico-fav-{{$fav_index}}" title="{{$lang.videos.list_action_add_to_favourites[$fav_index]}}" data-fav-video-id="{{$item.video_id}}" data-fav-type="{{$fav_index}}"></span> {{/foreach}} {{/if}} {{/if}} {{if $item.is_hd==1}}<span class="is-hd">HD</span>{{/if}} </div> <strong class="title"> {{if $lang.videos.truncate_title_to>0}} {{$item.title|truncate:$lang.videos.truncate_title_to:"...":true}} {{else}} {{$item.title}} {{/if}} </strong> <div class="wrap"> <div class="duration">{{$item.duration_array.text}}</div> {{assign var="object_rating" value="`$item.rating/5*100`"}} {{if $object_rating>100}}{{assign var="object_rating" value="100"}}{{/if}} <div class="rating {{if $object_rating>=50 || $object_rating==0}}positive{{else}}negative{{/if}}"> {{$object_rating|string_format:"%d"}}% </div> </div> <div class="wrap"> {{assign var="added_date" value=$item.post_date}} {{if $mode_favourites==1}} {{assign var="added_date" value=$item.added2fav_date}} {{elseif $mode_purchased==1}} {{assign var="added_date" value=$item.purchase_date}} {{/if}} <div class="added"><em>{{$added_date|date_format:$lang.global.date_format}}</em></div> <div class="views">{{$item.video_viewed|traffic_format}}</div> </div> </a> </div> {{/foreach}} {{else}} <div class="empty-content">{{$list_videos_empty_message|default:$lang.common_list.no_data}}</div> {{/if}} </div> </div> {{if count($item_category.videos)>0}} <div class="load-more"> <a href="{{$lang.urls.videos_by_category|replace:"%DIR%":$item_category.dir|replace:"%ID%":$item_category.category_id}}">{{$lang.common_list.load_more}}</a> </div> {{/if}} </div> {{/foreach}}
  2. You can use KVS advertising feature in Website UI -> Advertising section to limit some parts of HTML code to be displayed for specific categories or to be excluded for specific categories. Go to advertising and create spot (Add Spot option). After creating a new spot, you will see its insert code that you should use in template where you need to display some advertising or HTML code of your choice: After inserting advertising spot into template, you can add advertising to it and select whether this advertising should be displayed only for specific categories or should be excluded for specific categories: These restrictions will include: Video lists for the given categories (e.g. these pages https://www.kvs-demo.com/categories/rock-music/) Video pages for all videos from the given categories (e.g. these pages https://www.kvs-demo.com/videos/181/boyce-avenue-dynamite/) Album lists for the given categories (e.g. these pages https://www.kvs-demo.com/albums/categories/rock-music/) Album pages for all albums from the given categories (e.g. these pages https://www.kvs-demo.com/albums/74/dan-mihai-b-lan/)
  3. This article provides step by step instruction on how to get categories dropdown in site header. Please note the CSS styles described here are not 100% perfect, as they in some way overlap with styles for upload item dropdown. Please adjust them as needed by your site design. Step 1. Go to Website UI -> Global blocks and click on Add block button at the bottom. In the new block line specify block name as Header Categories and under block type select list_categories. Save. Step 2. Open the newly appeared Header Categories block for editing. Configure block parameters as needed, e.g. items_per_page if you want to limit the number of categories displayed, and other filters if you want to limit which categories are displayed. Enter the following code into template code area and save: {{if count($data)>0}} <li class="drop"> <span>{{$lang.header.primary_menu_categories}}</span> <ul> {{foreach from=$data item="item"}} <li> <a href="{{$lang.urls.videos_by_category|replace:"%DIR%":$item.dir|replace:"%ID%":$item.category_id}}">{{$item.title}}</a> </li> {{/foreach}} </ul> </li> {{/if}} Step 3. Go to Website UI -> Page components -> include_header_general.tpl for editing. Find the <LI> node that renders categories menu item, similar to this: <li {{if $page_id=='categories_videos' || $page_id=='categories_albums'}}class="selected"{{/if}}> <a href="{{$lang.urls.categories_videos}}" id="item6">{{$lang.header.primary_menu_categories}}</a> </li> And replace it with this block insert: {{insert name="getGlobal" global_id="list_categories_header_categories"}} Step 4. To make styles look better, add the following basic styling into your theme CSS file: .navigation .primary .drop > span { display: block; position: relative; background-color: #e0dfdf; padding: 12px 38px 12px 17px; cursor: pointer; } .navigation .primary .drop > span:after { position: absolute; z-index: 1; content: "\e901"; font-family: "icomoon" !important; speak: none; font-style: normal; font-weight: normal; font-variant: normal; text-transform: none; line-height: 1; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; font-size: 5px; top: calc(50% - 1px); right: 20px; will-change: transform; -webkit-backface-visibility: hidden; backface-visibility: hidden; -webkit-transform: translateY(-50%) rotate(0); transform: translateY(-50%) rotate(0); -webkit-transition: -webkit-transform 0.3s; transition: -webkit-transform 0.3s; transition: transform 0.3s; transition: transform 0.3s, -webkit-transform 0.3s; } .navigation .primary .drop:hover > span { background-color: #276fdb; color: #fff; } .navigation .primary .drop:hover > span::after { -webkit-transform: translateY(-50%) rotate(180deg); transform: translateY(-50%) rotate(180deg); }
  4. When grabbing content from other sites it is possible that number of tags or categories for a specific content will be quite high, so that rendering them all will look bad for design. In this case it is very easy to fix theme templates to list only first N tags or categories and skip the rest. The same approach works for both videos and albums. For videos you should edit Website UI -> Pages -> View Video page -> video_view block template. For albums it will be Website UI -> Pages -> View Album page -> album_view block template. Both templates have the following foreach constructs to render list of tags and categories: {{foreach item="item" from=$data.tags}} <a ...>{{$item.tag}}</a> {{/foreach}} {{foreach item="item" from=$data.categories}} <a ...>{{$item.title}}</a> {{/foreach}} Render only the maximum possible number of items and skip the rest of them Add name="list" attribute to foreach construct in order to access list properties. If you want to display the first 10 items, wrap <a> tag with this condition: {{if $smarty.foreach.list.iteration<=10}}...{{/if}}: {{foreach item="item" from=$data.tags name="list"}} {{if $smarty.foreach.list.iteration<=10}} <a ...>{{$item.tag}}</a> {{/if}} {{/foreach}} Change 10 to 5 in order to limit list rendering to 5 items: {{foreach item="item" from=$data.categories name="list"}} {{if $smarty.foreach.list.iteration<=5}} <a ...>{{$item.title}}</a> {{/if}} {{/foreach}} That's it! WARNING: please make sure you do not forget the closing {{/if}} tag. Hide the rest of items and render "More..." button to display them on click Add name="list" attribute to foreach construct in order to access list properties. If you want to display the first 10 items, add {{if $smarty.foreach.list.iteration>10}}style="display: none"{{/if}} block to A tag inside the iteration plus add a block after {{foreach}} iterator to render "More..." button: {{foreach item="item" from=$data.tags name="list"}} <a {{if $smarty.foreach.list.iteration>10}}style="display: none"{{/if}} ...>{{$item.tag}}</a> {{/foreach}} {{if count($data.tags)>10}} <a onclick="$(this).parents('.item').find('a').css({'display': ''}); $(this).css({'display': 'none'});">More...</a> {{/if}}
  5. If you simply embed banners into different pages of your tube site, this won't bring you much. Maximizing tube revenue is a skilled art nowadays. We are not professionals in this, but we know how our best clients do and what features they use to get most from their tube sites. Just think that many of the tube sites are simply buying traffic for lower price and squeezing maximum from it, thus having huge income. Consider a big tube or a network that brings $5.000 of net income monthly. Consider implementing a strategy that increases your tube / network revenue by just 10%... how much do you think you will get more? $500? Wrong. Simple math. As an owner you will pay $10.000 monthly for servers, employees and traffic. Advertising from such a tube may bring $15.000 and your net income will be $5.000 monthly. If you increase your advertising revenue by 10% it will become $16.500 and your net income will be $6.500, which is $1.500 more (or 30% increase)! This is why every % increase of advertising revenue is very important and actually makes sense to struggle for. KVS advertising and player features and this small guide will hopefully help you in implementing such strategies on your projects. Are you an advertiser company that can provide more revenue to KVS customers and you need some integration into KVS? If so, please contact our support team. Simple inline advertising Every KVS theme comes with a predefined list of advertising spots, wherever theme designers decided to put them (Website UI -> Advertising section). These spots contain some sample ads to demonstrate which advertising format is expected there: You can use these spots with your own ads, but if you don't like their placement you can simply hide them by deleting or deactivating sample ads from any specific spot. A spot without any active advertising will not be rendered and this should not affect theme behavior in any way. If you want to add a new advertising spot into your theme design you should first create it in Website UI -> Advertising section and then copy-paste its Insert code into the needed template position: {{insert name="getAdv" place_id="new_spot"}} After inserting an empty advertising spot there will nothing happen. The spot will display something after you add any active advertising to it. By inserting single advertising inside a spot you won't get much. Typically advertisers require you to select advertising format, e.g. size and type, advertising category. An advertisement that looks good on desktop will not look the same on mobile and vise versa. If your site features videos on multiple non-connecting topics, there is no sense to show the same ads for videos from these different topics. Moreover, one provider typically can't provide good clickable ads for all countries in the world. Global advertisers are usually concentrated on English speaking top-tier countries, such as US, UK, Canada, Australia, some EU countries and that's it. While they may show localized ads for non-English top-tier countries, they will in most cases show the same English ads for visitors from other countries, reducing their click activity and your revenue. There are always providers that will pay more for locale-specific traffic, because they are concentrated on this niche market and know how to best convert it. This is where KVS advertising feature is extremely useful. It allows you to combine ads from different providers, for different devices, from different categories and for different countries in the same spot. All what you need is to put multiple advertisements into the same spot and correctly indicate which advertisement is designed for which devices, categories and countries: Devices. There may be some providers in your market specifically concentrated on mobile visitors and paying more revenue than other, use their advertising for mobile phones and / or tablets. If your advertising provider supports separate mobile ads, better use them for mobile devices and separate desktop ads for desktop devices. Categories. Advertising providers are not able to understand which categories are in context of the page where advertisement is being located. Therefore they will require you to pre-select some high-level advertising categories before they give you advertising code. But KVS knows the exact category context of almost every site page (e.g. video page for example) and KVS is capable to show different ads for content from different categories. Therefore if you want to have more relevant ads on your video pages, you can use categories limitation in advertising settings and configure multiple advertisements in different categories, where each advertising is also configured differently on advertising provider's site as well (e.g. it means that you will also need to create different ad zones with your advertiser company, so that each zone has its own category). This way your ads will be more relevant to videos and will result in more clicks. Ideally you should divide all your categories into non-connecting subsets and configure separate ads for all these subsets. Countries. Check your traffic stats by countries (Stats -> Countries). You should be able to see which countries form the most of your site's traffic. If you don't see countries, then GEOIP module is not configured or configured incorrectly and you should contact KVS support to help you identify the issue. Check your advertising provider's payment policy for different countries: are there any that are not being paid well? Search for local advertising providers for these countries, look at local competitor sites: which advertising providers are they using? Use country specific VPN to access competitor sites. Try to find local advertising provider for this traffic and insert country-specific ads for these countries. Get more revenue for their clicks. IMPORTANT! By configuring ads for multiple categories and countries please do not forget to consider the 'default' case, you should always have some default advertising with empty categories and countries. This is needed because some videos may have empty categories, or some countries may not be detected, and actually you will never select all possible countries in an advertising. So your spot configuration should always have default ad, which will be displayed for any country or category that was not selected in other 'specific' ads. Usually your primary advertising provider IS your default case, and you should be using alternate providers for locale specific cases or for advertising inside specific categories to increase your revenue in comparison to your primary advertiser. Connecting advertising to content sources Content sources are another way to show content-specific advertising in KVS. They are typically used as 'sponsors' or 'paysites' that you want to advertise along with the content. In adult industry many free sample videos are provided by studios or paysites that also support affiliate programs to advertise their paid sites. If your site renders sponsored content, you should absolutely use content sources to render a banner or two on video / photo pages to increase your revenue. KVS default theme is capable to render top banner and banner under player from content sources, also providing ability to configure default banner in advertising settings (if a video has not content source or the existing content source has no banners uploaded into it). In order to use this functionality, you should create content sources and upload their specific banners into the following 2 customization fields: In content source settings you should also specify your affiliate URL in the URL field, usually a paysite join or tour page with your affiliate ID. Then you should make sure that imported / created videos are correctly assigned to their content sources. If you already have a big set of existing videos, you can assign content sources via mass editing functionality for many videos at the same time. Even grabbers in KVS are in most cases capable to detect the correct content source from the grabbed video pages. In order to consider 'no content source' case you should either disable default banner to completely hide it, or specify your custom default advertising in these 2 ad spots: NOTE: other themes may or may not provide ability to connect video page advertising to content sources, this is solely theme-specific feature. Please contact theme developers if you need to customize this. Popunder advertising Popunder is another popular way to increase your tube site revenue. While Google announced its battle against popunders, there are new tactics that can easily imitate popunder opening without actually being a popunder and without even being noticed (at a time of this article creation). In order to insert popunder code from your advertiser please go to Website UI -> Advertising section and create a new advertising spot named Popunder. Then create an advertisement under this new spot with popunder code (typically a fragment of JavaScript code provided by your popunder advertiser). Follow your advertiser guide on which code to use. Finally copy Insert code from advertising spot settings in KVS and paste it anywhere before closing </body> tag in Website UI -> Page Components -> include_footer_general.tpl: After doing this, you should be able to see popunder working on any page of your site. NOTE: please be aware that ad blocking plugins in your browser may block popunders of some advertising providers, so you may not see anything actually. Before testing any advertising on your site make sure that adblocking plugins are disabled in your browser for your site. KVS player also provides its own popunder implementation. There are several crucial differences when using popunder from KVS player in comparison to popunders provided by other advertisers: KVS player popunder will only be triggered when user clicks on player to start playing a video. Popunders from other advertisers will be triggered when user clicks anywhere on your page and by default will affect all pages of your site. KVS player popunder will open a new tab with actually auto-starting video immediately, while the background tab will be silently redirected to advertiser site. This provides better user experience, e.g. user clicks on 'Play' button and this will result in opening the video page again in a new tab with playing the video. Popunders from other advertisers cannot do that, since they are not integrated into player. However, this is not possible on 100% of devices and will only happen on those devices that support it (mobile devices in most cases do not support autoplay at the moment). In KVS player popunder you have to manually configure the outgoing URL and to stick it to a single advertiser site. Popunders from other advertisers are better in this, since they can dynamically select different advertisers and you don't need to be concerned which advertiser to use. If you want to try KVS popunder, you can configure it in Settings -> Player Settings under Blind Advertising section: If you want to try non-KVS popunder, try Ехосlісk. In-player advertising KVS player is definitely the world's #1 player in advertising support. It gives you so many abilities to configure any advertising in so many ways, that no other player can provide. You should definitely dive into the world of player settings and discover advertising types that suit your business needs. Here is a list of all supported in-player advertising with brief explanation: Logo advertising: render a logo image or text of video sponsor from content source settings. Use this for sponsored videos. Better render sponsor logo than your logo. Controlbar text advertising: render a small text fragment on controlbar. Can be linked to a sponsor for sponsored videos, e.g. "Download video" text linked to a sponsored site. Popunder advertising: browser will reopen the same video page in a new tab with attempt to autoplay video there, while the original page will be silently redirected to a sponsored site. Pros and cons of using KVS popunder advertising in comparison to other 3rd-party popunders are summarized in the previous section. Video click advertising: another type of blind advertising, which is triggered when user clicks on player to pause the ongoing playback. This click will open advertiser site for the first time. Format change advertising: when player renders list of available video formats, e.g. "480p", "720p" and etc., it is always possible to add any number of fake formats and link them to a sponsored site. For example your videos come in 480p and 720p formats only. You can easily add 1080p option and link it to video sponsor or to any specific advertiser. Any user who wants to watch video in 1080p will be redirected to a sponsored site. Start screen advertising: shows HTML block with ads on top of player instead of native 'Play' button. Also supports custom 'Play' button rendering. Pre-roll advertising: the most popular advertising that renders HTML, image or video ad with or without 'Skip' button for a certain amount of time before playing the main video. Users are forced to watch this advertising if they want to watch content video. While in KVS player settings you can easily design your own HTML / video advertising, the most popular option is to use VAST advertising provider instead. VAST is described in the following section. Post-roll advertising: similar to pre-roll, but shows at the end of video. With the new KVS 4.0.3 it is also possible to configure post-roll in after-pause mode, so that this advertising will be initialized after user opts to pause content video for a while. If then user opts to continue watching the video, they will have to watch post-roll advertising first. Using post-roll advertising in after-pause mode in connection with good VAST provider may significantly increase your tube site revenue without any effort. Advertising on pause: shows HTML block with ads or image on top of player instead of native 'Play' button. Also supports custom 'Play' button rendering. Overlay advertising: images that will overlay player from top or bottom during content video playback without affecting it. A good place to remind users to download full video from a sponsored site. In-player VAST VAST is an abbreviation for Video Ads STandard. It is a way how many advertising providers and many player vendors can deal together with video advertising. While KVS provides a way to manually create your own custom video / image / HTML player ads, VAST is much easier to use and it is expected to produce more revenue. KVS currently supports VAST in pre-roll and post-roll ads. It is highly possible that VAST support will be added to overlay advertising as well in the future. VAST in KVS is available via subscription basis: you have to pay a fixed fee every month, or quarter, or year (the longer the period is, the more discount you get). You can purchase VAST subscription service here, but you should log in first to select your license: https://www.kernel-video-sharing.com/en/services/#vast Once your payment is processed, it will automatically push VAST subscription code into your KVS license within 1 hour or so. If you want it to be pulled immediately, please go to Settings -> Player Settings and re-save them. As an alternative to VAST subscription KVS supports several affiliated VAST providers that you can use for free without any paid subscription. You can find them listed in Player Settings of your admin panel. IMPORTANT! KVS player can not affect your VAST provider behavior. VAST provider decides on its own discretion whether to show advertising to the given visitor or not. Many VAST ads are paid for views, not for clicks. VAST provider will most probably implement a strategy to optimize their expenses, not your revenue. If they think that the current user will less likely click on the next ad, they may skip showing it, so you may end up showing less ads and having less revenue. In order to increase your revenue from VAST you should first of all consider using alternate VAST provider(s). Alternate provider(s) will be used if you main provider denies to show advertising to the given user. This can be simply configured in Settings -> Player Settings as Alternate VAST configurations field. Player will then consider using alternate VAST provider(s) in some %% of cases, and you should be able to notice that in revenue stats on your alternate VAST advertiser website. Another feature that will help you to increase your VAST revenue is creating your own VAST profiles for pre-roll and post-roll ads. In VAST profile you can mix multiple VAST providers with different weights and countries similar to what KVS ad spots allow. For example imagine scenario when the same user is watching multiple videos on your site. If you want to show pre-roll for every video, your VAST provider will either show the same advertising multiple times in a row, or will deny showing it on the 2nd and / or 3rd times. This is where alternate VAST configurations may be used, but another possible option is to configure multiple VAST providers in the same VAST profile and specify different weights for them. KVS will then show different advertising for the same user if the user watches more than 1 videos on your site. It will show VAST provider with the most weight with the first video, VAST provider with the 2nd most weight on the 2nd video and etc., then the cycle will be repeated again. The rule of thumb for VAST advertising is similar to standard inline ads: choose your primary VAST provider and then add alternate providers into VAST profile for either increasing revenue for certain specific countries or for mixing multiple providers for the same user. At the same time make sure you are using alternate VAST provider to catch cases when primary provider doesn't want to serve advertising to a user. Native advertising Native advertising is designed in such a way that it imitates the content on your site and is integrated as a part of your content list. Typically this type of advertising is used in related videos or somewhere inside video lists. The most difficult thing about this advertising is that it should look similar to the design you have on your site and organically suit your site. This is very difficult to achieve in the world of adaptive themes, from technical point of view. Most of advertising providers (Ехосlісk for example) will allow you to customize the design of this control. However you should consider that this advertising is displayed as a whole iframe and it should exactly fit the line of videos in the list. The number of videos per line is different for devices with different screen width. For example there may be 4 videos per line on desktops and 1-2 video per line on phones, and 3-4 videos per line on tablets and some HD screen phones. So the only way to create a true native in-list advertising is coding custom CSS styling for it and making sure that the same list rendering pattern (e.g. 4-3-2-1) applies inside the advertising iframe. This is quite a difficult task even for an experienced guy. The most easiest option to add native advertising to your project is to insert it on video / album pages as a vertical aside block (default theme advertising spot for this is called "Video / Album / Playlist View 3 images"). This block is designed to render a vertical list of banners of any width (player width will adopt accordingly), and may be the best place to render a vertical list of native ads named "Similar videos" or "Recommended videos". This list will be located aside video player and will obviously generate many clicks. However on small devices (screen width less than 860px in default theme) this block is hidden by CSS, because otherwise it will be displayed above player and will make video page ugly. You can show it with the following inline CSS style: <style> @media screen and (max-width: 860px) { .block-album .table, .block-post .table, .block-video .table { display: block !important; float: none !important; margin: 0 7px 10px 0 !important; } } </style> Since on small devices it will still be rendered above player, it makes no sense to render vertical list of native ads there. Combining all KVS features, here is the best solution possible. Put 2 different advertisements inside "Video / Album / Playlist View 3 images" spot: The first advertisement should be vertical list of native ads and should be allowed for desktop and tablet devices. This advertising will be displayed aside player as a vertical list of native video ads. The second advertisement is designed for mobile phones only. It should contain the above CSS fragment plus some advertising that looks like player with a play button. It will be displayed only on mobile phones above the actual player and will confuse some users that will click it thinking it is a player. Alternative monetization channels Starting with KVS 4.0.3 there is a Push Notifications plugin available which provides alternate monetization channel with high revenue. It can be a good addition to your standard monetization scheme. How does it work? When visitors open your site, their browsers will invite them to subscribe to push notifications from your site. Users who accept the invitation will receive advertising materials directly to their browsers even if they never visit your site again. In comparison to standard ads, push notifications do not affect your site content and usability, since invitation is displayed by browser, not by your site. Also Ad Maven, the advertiser integrated into KVS, is 100% compatible with Google advertising requirements so that your project will not suffer SEO restrictions. As for monetization, push notifications will bring you passive income for quite a long time thanks to the unique technology they are implemented. Users subscribed on your site will continue receiving advertising materials even if they never come back again. You will continue receiving revenue for a long time even if your site has no traffic anymore. Combining all together Every single % matters. Here are 7 simple steps to increase tube revenue, a summary from the above descriptive sections: Make sure you are using the latest KVS version. We are working hard to bring you the best advertising options in the world, since we clearly understand this is the most important and needed feature. Read 'whats new' sheets from all new versions to see if there are any advertising enhancements that you can start using. For inline advertising choose your primary provider (for example Ехосlісk). Use mobile-targeted ads for mobile devices if possible. Use country-specific advertising providers to increase your advertising revenue for specific countries. Use category specific advertising if your tube site features several exclusive category sets. Use KVS Push Notifications plugin as your alternate monetization channel. If your content is sponsored, make sure that all sponsored content is assigned to specific content sources and show different advertising from content sources instead of showing the same global advertising for all content. This applies to advertising displayed on video / photo pages and inside player. Use popunder in a combination with pre-roll and post-roll VAST. Choose your primary VAST provider (for example Ехосlісk) and configure alternate VAST providers to boost revenue. If you are able to find locale-specific VAST providers with great rates, create VAST profile and combine your primary VAST provider with country-specific providers. Use different VAST providers for post-roll adverting configured in after-pause mode. If your videos are in 480p and 720p format, add 1080p and/or 4k format slots in player settings with redirecting to advertiser, ideally to video sponsor's site. Use sponsor-specific player logos linking to sponsor sites. Use vertical native advertising aside video player to imitate related videos. Combine it with native advertising on mobile phones that imitates player with play button over it.
  6. KVS has multiple categorization entities, which all together are designed for specific needs and have specific functionality. Using correct categorization concept is crucial for a successful tube site and even a paysite. Please pay attention to this guide. Categories Categories are designed to be initially created by admins and thus they are designed to be limited. Use categories for your top level categorization. Depending on how you add your content (manually, import, grabbers) it is always possible to dynamically create categories on the fly and it is also always possible to make sure that no dynamic categories are created. Users will not be able to create new categories, they will only be able to use the existing set of categories you have defined in admin panel. Importing and grabbers will create missing categories by default, so in order to prevent that you should enable options that stop this: This becomes more important with tube scrappers when grabbing content from multiple tube sites. Each tube site has its own set of categories, some of them may be spelled differently but define the same meaning, e.g. Phones and Mobiles. If your videos are grabbed automatically and categories are allowed to be created on the fly, your tube will end up with dozens different categories having the same meaning. Fixing this will be possible, but will require much time spent in admin panel, so it is better to prevent by using the proposed strategy: Step 1. Define your categories manually based on your site's planned content. Step 2. Before enabling grabber that supports grabbing categories for each video, check the whole set of categories this site provides. Make sure to list these categories as synonyms of your existing categories, where no exact match is found. For example for category named Mobile Phones you can list such synonyms as Phones, Mobiles, Smartphones. When searching for existing categories KVS will also check their synonyms and instead of creating new category named Smartphones it will choose existing category named Mobile Phones, which defines Smartphones as a synonym. Synonyms can also be used in SEO, they are typically used as HTML keywords for your category pages, but can also be displayed anywhere where category name is displayed: This approach should work great if you correctly define all synonyms before using grabbers. But if the number of categories on the grabbed site is huge or you are not able to find their list, you will not be able to find out which synonyms should be added. There is another approach: import categories as tags first using the new option in grabber settings: Step 1. Not necessary needed to define your list of categories. Step 2. In grabber settings enable Categories as tags option. This will add all categories as tags in addition to original tags that may be available on grabbed site. Step 3. After importing much enough content, check your tags and sort them by the number of videos in them. Tags with most content are your potential categories and their possible synonyms! Now you can create your set of categories and specify their synonyms by looking into these tags. Step 4. Go to Plugins -> Category auto-selection and enable this plugin to process every video. Step 5. Go to Videos list and select Mass edit all videos... option in batch actions. You will see mass edit GUI. Enable Process videos with "Category auto-selection" plugin option. Make sure you do not select anything else and submit mass edit task. Now your videos will be auto-populated with categories based on their tags. For new videos this will happen automatically. You need to use mass edit only for the first time after you are able to populate your initial set of categories. But at any time you can repeat step 3 and step 5 when you import more content to create more categories and assign videos to them. Using either of these approaches will keep your categories tuned. Categories support custom fields, some of them are enabled by default and are used for HTML title, HTML description and SEO text displayed on category pages. We encourage you to fill them to get more SEO traffic to your site. Also categories can be used to bind site advertising to specific categories, e.g. show specific ads on specific pages only for specific categories. Here are some places where you can use this: Video / album pages: you can show ads specific to categories of the displayed video or album. For example for all videos having Mobile Phones category you can show only ads related to mobile phones and do not show other ads. Using this functionality can significantly increase your revenue. Category pages: you can show ads specific to the given category only. Category groups For some tube sites with complicated categorization it may be needed to group categories by certain areas. This is typically used in advanced search functionality, when users should be allowed to search by multiple criteria matching at the same time. KVS doesn't support category tree, but in most cases the same thing can be achieved by using category groups. For example if you have a tube site with travel videos, you may have the following grouping (simplified): - Countries --- USA, Canada, Australia, etc. - Activities --- Rafting, Hiking, Snorkeling, etc. - Production --- Professional, Amateur Then for each video users can select multiple categories from each of these groups. KVS default theme allows switching category selector to grouped one, which will display categories in the needed way automatically. It is also possible to display categories grouped in main category listing or at any page of your site, e.g. in sidebar or header (this is not supported by default KVS theme and will require redesign if needed). Categories grouping can also be used in advanced search function to search for content in the exact matching set of categories, e.g. only amateur videos about hiking in USA. In this case user should simply select 3 categories together: USA, Hiking, Amateur and all videos where these 3 categories are present will be displayed. Tags Tags are true dynamic categorization objects, they can be created by your site's users at their own discretion. Tags are typically used as keywords for content pages and can also help in text search and SEO for providing landings for specific search results. Our basic recommendation is that you don't try to limit them in any way. However KVS provides functionality to merge several tags into one and keep content correctly reassigned. This specific functionality is available as Rename function in tags list in admin panel. Tags can also support custom fields, which can be used for SEO, but usually this is not feasible due to their big amount. Content sources Content sources can be used in multiple scenarios. The initial idea behind content sources was to group videos / albums based on the source they are coming from. Here are some real world scenarios. Scenario 1. For a tube site if you advertise sponsor paysites, you are allowed in some cases to take premium content from their member area and add to your tube but with some duration restriction (for example truncate to max 5 minutes). So you can configure a content source for each of these paysites and you can also configure that all content from a specific content source is truncated to some duration specified in content source settings. In order to do that you should first go to Settings -> Customization and enable any free custom text field for content sources and name it as Duration limit: Then in Settings -> Video formats for all video formats, which are planned to be created for such videos, you can enable duration limit to be taken from that content source field: The idea is that if the uploaded video has a content source and this content source has Duration limit field specified, KVS will truncate all video formats of this video to this duration. All other videos (either from different content sources, or with empty content source) will not be truncated. Therefore using this functionality you will be able to ensure that you don't violate any duration policy required by content author / owner. But in order to have this, you should configure it from the beginning. Scenario 2. For a tube site if you advertise sponsor paysites, you can bind in-video and other video page advertising to advertising specific to content source. This is the widely used concept of showing "Download full video at XXXXX" banner under video player, or inside player. In order to do that you should also use custom content source fields. In Settings -> Player settings you can bind specific in-video advertising to a custom text (for HTML ad) or to a custom file (for video or image ad) field of video content source. In this case you should also specify some default HTML or file for the ad - just because some videos may have empty content source or some content sources may have empty custom fields: Default KVS theme also supports 2 image banners (one wide on top of video page and another under video player), these banners can be uploaded into predefined custom fields in content sources: Theme settings can be changed of cause, default theme just has 2 image banners predefined, but you can customize to display other banners, or to display HTML banners instead of image banners, or anything else. The template code is pretty straightforward. For View video page template (Website UI -> Pages -> View Video) showing HTML ad from custom field #5 with fallback to default ad: {{if $storage.video_view_video_view.content_source_id>0 && $storage.video_view_video_view.content_source.custom5!=''}} {{* check if video has content source and it has custom5 field specified -> show HTML from custom5 field *}} {{$storage.video_view_video_view.content_source.custom5|smarty:nodefaults}} {{else}} {{* this video either has no content source or its custom field #5 is empty -> show some default advertising spot (needs to be created prior of usage) *}} {{insert name="getAdv" place_id="spot_video_page_default_ad"}} {{/if}} Same code if used inside video_view block (Website UI -> Pages -> View Video -> video_view block): {{if $data.content_source_id>0 && $data.content_source.custom5!=''}} {{* check if video has content source and it has custom5 field specified -> show HTML from custom5 field *}} {{$data.content_source.custom5|smarty:nodefaults}} {{else}} {{* this video either has no content source or its custom field #5 is empty -> show some default advertising spot (needs to be created prior of usage) *}} {{insert name="getAdv" place_id="spot_video_page_default_ad"}} {{/if}} Each content source also has URL field, where you should specify click URL for that content source. KVS is able to track all outgoing clicks to content sources in its stats, but in templates you should render href of a specific format. For View video page template (Website UI -> Pages -> View Video): <a href="{{$lang.urls.out_sponsor|replace:"%DIR%":$storage.video_view_video_view.content_source.dir|replace:"%ID%":$storage.video_view_video_view.content_source.content_source_id}}" target="_blank">Click here to watch the full HQ video!</a> Same code if used inside video_view block (Website UI -> Pages -> View Video -> video_view block): <a href="{{$lang.urls.out_sponsor|replace:"%DIR%":$data.content_source.dir|replace:"%ID%":$data.content_source.content_source_id}}" target="_blank">Click here to watch the full HQ video!</a> Scenario 3. If you have a tube site or a paysite which aggregates content from several other paysites, you can show sites section allowing users to navigate content from different paysites. This is fully implemented in KVS default theme: http://kvs-demo.com/sites/ Scenario 4. In some cases if you grab content from multiple tube sites you may need to use content sources for simply grouping them. For example if you grab embed codes from multiple sites and suddenly one of the sites stops serving embed codes, or starts redirecting your traffic to their website, you will need to delete these videos. Then you can easily filter them all by content source in your admin panel. Each grabber settings provide ability to set all content grabbed from specific grabber to a specific content source: Summary. So the most common scenarios of using content sources in KVS are: Truncate duration for videos from specific source sites. Embed different watermark images for videos from specific source sites (similar to truncating duration). Show different in-video and video page advertising for videos from specific source sites. Provide users ability to navigate videos divided into separate sections based on their source sites. Provide ability for admins to easily filter videos based on which sites they were scrapped from. Content source groups Similar to category groups you can group content sources by your criteria. Can be used both for your admin panel needs and for showing grouping on website. Models Models are categorization objects designed to indicate people that are connected to any particular video or album. There is nothing specific about models, they are like categories but have more data fields in terms of 'people'. Flags Flags are categorization objects designed to be applied by your end users. Flags are typically used in Report video / album / playlist functionality. Based on your theme configuration, users can assign predefined flags to different objects (like videos, albums, playlists and some other). With flags they can also specify their message if your design allows doing this. So flags can be used for multiple features that require user feedback on content: Report copyright violation by specific content. Report inappropriate content. Name a model in a video or album. Vote content for being featured. Flags can also be used by admins to group videos or albums for specific reasons. Both videos and albums support so-called admin flag field, where you can select a single flag for a video or album. This field is filterable in admin panel and in site listings, so here are some example usage scenarios: Indicate specific set of content that should be displayed in specific site listing, e.g. manually predefined featured videos on index page. When content is being processed by multiple admins, they can use admin flags to move content between different approval phases. When you need to manually review content and move it to specific logical group that you can further filter by; you can just assign a specific admin flag and then filter all content by this flag.
  • Create New...