Recherche avancée

Médias (2)

Mot : - Tags -/rotation

Autres articles (50)

  • MediaSPIP Core : La Configuration

    9 novembre 2010, par

    MediaSPIP Core fournit par défaut trois pages différentes de configuration (ces pages utilisent le plugin de configuration CFG pour fonctionner) : une page spécifique à la configuration générale du squelettes ; une page spécifique à la configuration de la page d’accueil du site ; une page spécifique à la configuration des secteurs ;
    Il fournit également une page supplémentaire qui n’apparait que lorsque certains plugins sont activés permettant de contrôler l’affichage et les fonctionnalités spécifiques (...)

  • Participer à sa traduction

    10 avril 2011

    Vous pouvez nous aider à améliorer les locutions utilisées dans le logiciel ou à traduire celui-ci dans n’importe qu’elle nouvelle langue permettant sa diffusion à de nouvelles communautés linguistiques.
    Pour ce faire, on utilise l’interface de traduction de SPIP où l’ensemble des modules de langue de MediaSPIP sont à disposition. ll vous suffit de vous inscrire sur la liste de discussion des traducteurs pour demander plus d’informations.
    Actuellement MediaSPIP n’est disponible qu’en français et (...)

  • Supporting all media types

    13 avril 2011, par

    Unlike most software and media-sharing platforms, MediaSPIP aims to manage as many different media types as possible. The following are just a few examples from an ever-expanding list of supported formats : images : png, gif, jpg, bmp and more audio : MP3, Ogg, Wav and more video : AVI, MP4, OGV, mpg, mov, wmv and more text, code and other data : OpenOffice, Microsoft Office (Word, PowerPoint, Excel), web (html, CSS), LaTeX, Google Earth and (...)

Sur d’autres sites (7519)

  • "FFmpeg : Error not transitioning to the next song in Discord Bot's queue."

    1er avril 2024, par noober

    I have 3 modules, but I'm sure the error occurs within this module, and here is the entire code within that module :

    


    import asyncio
import discord
from discord import FFmpegOpusAudio, Embed
import os

async def handle_help(message):
    embed = discord.Embed(
        title="Danh sách lệnh cho Bé Mèo",
        description="Dưới đây là các lệnh mà chủ nhân có thể bắt Bé Mèo phục vụ:",
        color=discord.Color.blue()
    )
    embed.add_field(name="!play", value="Phát một bài hát từ YouTube.", inline=False)
    embed.add_field(name="!pause", value="Tạm dừng bài hát đang phát.", inline=False)
    embed.add_field(name="!resume", value="Tiếp tục bài hát đang bị tạm dừng.", inline=False)
    embed.add_field(name="!skip", value="Chuyển đến bài hát tiếp theo trong danh sách chờ.", inline=False)
    embed.add_field(name="!stop", value="Dừng phát nhạc và cho phép Bé Mèo đi ngủ tiếp.", inline=False)
    # Thêm các lệnh khác theo cùng mẫu trên
    await message.channel.send(embed=embed)

class Song:
    def __init__(self, title, player):
        self.title = title  # Lưu trữ tiêu đề bài hát ở đây
        self.player = player

# Thêm đối tượng Song vào hàng đợi
def add_song_to_queue(guild_id, queues, song):
    queues.setdefault(guild_id, []).append(song)

async def handle_list(message, queues):
    log_file_path = "C:\\Bot Music 2\\song_log.txt"
    if os.path.exists(log_file_path):
        with open(log_file_path, "r", encoding="utf-8") as f:
            song_list = f.readlines()

        if song_list:
            embed = discord.Embed(
                title="Danh sách bài hát",
                description="Danh sách các bài hát đã phát:",
                color=discord.Color.blue()
            )

            for i, song in enumerate(song_list, start=1):
                if i == 1:
                    song = "- Đang phát: " + song.strip()
                embed.add_field(name=f"Bài hát {i}", value=song, inline=False)

            await message.channel.send(embed=embed)
        else:
            await message.channel.send("Hiện không có dữ liệu trong file log.")
    else:
        await message.channel.send("File log không tồn tại.")

async def handle_commands(message, client, queues, voice_clients, yt_dl_options, ytdl, ffmpeg_options=None, guild_id=None, data=None):
    # Nếu không có ffmpeg_options, sử dụng các thiết lập mặc định
    if ffmpeg_options is None:
        ffmpeg_options = {
            'before_options': '-reconnect 1 -reconnect_streamed 1 -reconnect_delay_max 5',
            'options': '-vn -filter:a "volume=0.25"'
        }
    
    # Khởi tạo voice_client
    if guild_id is None:
        guild_id = message.guild.id

    if guild_id in voice_clients:
        voice_client = voice_clients[guild_id]
    else:
        voice_client = None

    # Xử lý lệnh !play
    if message.content.startswith("!play"):
        try:
            # Kiểm tra xem người gửi tin nhắn có đang ở trong kênh voice không
            voice_channel = message.author.voice.channel
            # Kiểm tra xem bot có đang ở trong kênh voice của guild không
            if voice_client and voice_client.is_connected():
                await voice_client.move_to(voice_channel)
            else:
                voice_client = await voice_channel.connect()
                voice_clients[guild_id] = voice_client
        except Exception as e:
            print(e)

        try:
            query = ' '.join(message.content.split()[1:])
            if query.startswith('http'):
                url = query
            else:
                query = 'ytsearch:' + query
                loop = asyncio.get_event_loop()
                data = await loop.run_in_executor(None, lambda: ytdl.extract_info(query, download=False))
                if not data:
                    raise ValueError("Không có dữ liệu trả về từ YouTube.")
                url = data['entries'][0]['url']

            player = FFmpegOpusAudio(url, **ffmpeg_options)
            # Lấy thông tin của bài hát mới đang được yêu cầu
            title = data['entries'][0]['title']
            duration = data['entries'][0]['duration']
            creator = data['entries'][0]['creator'] if 'creator' in data['entries'][0] else "Unknown"
            requester = message.author.nick if message.author.nick else message.author.name
                    
            # Tạo embed để thông báo thông tin bài hát mới
            embed = discord.Embed(
                title="Thông tin bài hát mới",
                description=f"**Bài hát:** *{title}*\n**Thời lượng:** *{duration}*\n**Tác giả:** *{creator}*\n**Người yêu cầu:** *{requester}*",
                color=discord.Color.green()
            )
            await message.channel.send(embed=embed)
            
            # Sau khi lấy thông tin của bài hát diễn ra, gọi hàm log_song_title với title của bài hát
            # Ví dụ:
            title = data['entries'][0]['title']
            await log_song_title(title)

            # Thêm vào danh sách chờ nếu có bài hát đang phát
            if voice_client.is_playing():
                queues.setdefault(guild_id, []).append(player)
            else:
                voice_client.play(player)
                
        except Exception as e:
            print(e)
            
    if message.content.startswith("!link"):
            try:
                voice_client = await message.author.voice.channel.connect()
                voice_clients[voice_client.guild.id] = voice_client
            except Exception as e:
                print(e)

            try:
                url = message.content.split()[1]

                loop = asyncio.get_event_loop()
                data = await loop.run_in_executor(None, lambda: ytdl.extract_info(url, download=False))

                song = data['url']
                player = discord.FFmpegOpusAudio(song, **ffmpeg_options)

                voice_clients[message.guild.id].play(player)
            except Exception as e:
                print(e)

    # Xử lý lệnh !queue
    elif message.content.startswith("!queue"):
        queue = queues.get(guild_id, [])
        if queue:
            await message.channel.send("Danh sách chờ:")
            for index, item in enumerate(queue, 1):
                await message.channel.send(f"{index}. {item.title}")
        else:
            await message.channel.send("Không có bài hát nào trong danh sách chờ.")

    # Xử lý lệnh !skip
    elif message.content.startswith("!skip"):
        try:
            if voice_client and voice_client.is_playing():
                voice_client.stop()
                await play_next_song(guild_id, queues, voice_client, skip=True)
                await remove_first_line_from_log()
        except Exception as e:
            print(e)

    # Xử lý các lệnh như !pause, !resume, !stop
    elif message.content.startswith("!pause"):
        try:
            if voice_client and voice_client.is_playing():
                voice_client.pause()
        except Exception as e:
            print(e)

    elif message.content.startswith("!resume"):
        try:
            if voice_client and not voice_client.is_playing():
                voice_client.resume()
        except Exception as e:
            print(e)

    elif message.content.startswith("!stop"):
        try:
            if voice_client:
                voice_client.stop()
                await voice_client.disconnect()
                del voice_clients[guild_id]  # Xóa voice_client sau khi dừng
        except Exception as e:
            print(e)

async def log_song_title(title):
    log_file_path = "C:\\Bot Music 2\\song_log.txt"
    try:
        # Kiểm tra xem tệp tin log đã tồn tại chưa
        if not os.path.exists(log_file_path):
            # Nếu chưa tồn tại, tạo tệp tin mới và ghi title vào tệp tin đó
            with open(log_file_path, 'w', encoding='utf-8') as file:
                file.write(title + '\n')
        else:
            # Nếu tệp tin log đã tồn tại, mở tệp tin và chèn title vào cuối tệp tin
            with open(log_file_path, 'a', encoding='utf-8') as file:
                file.write(title + '\n')
    except Exception as e:
        print(f"Error logging song title: {e}")

async def remove_first_line_from_log():
    log_file_path = "C:\\Bot Music 2\\song_log.txt"
    try:
        with open(log_file_path, "r", encoding="utf-8") as f:
            lines = f.readlines()
        # Xóa dòng đầu tiên trong list lines
        lines = lines[1:]
        with open(log_file_path, "w", encoding="utf-8") as f:
            for line in lines:
                f.write(line)
    except Exception as e:
        print(f"Error removing first line from log: {e}")
        
async def clear_log_file():
    log_file_path = "C:\\Bot Music 2\\song_log.txt"
    try:
        with open(log_file_path, "w", encoding="utf-8") as f:
            f.truncate(0)
    except Exception as e:
        print(f"Error clearing log file: {e}")


async def play_next_song(guild_id, queues, voice_client, skip=False):
    queue = queues.get(guild_id, [])
    if queue:
        player = queue.pop(0)
        voice_client.play(player, after=lambda e: asyncio.run_coroutine_threadsafe(play_next_song(guild_id, queues, voice_client, skip=False), voice_client.loop))
        if skip:
            return
        else:
            await remove_first_line_from_log()  # Xóa dòng đầu tiên trong file log
    elif skip:
        await remove_first_line_from_log()  # Xóa dòng đầu tiên trong file log
        await voice_client.disconnect()
        del voice_client[guild_id]  # Xóa voice_client sau khi dừng
    else:
        await clear_log_file()  # Xóa dòng đầu tiên trong file log
        await voice_client.disconnect()
        del voice_client[guild_id]  # Xóa voice_client sau khi dừng


    


    I have tried asking ChatGPT, Gemini, or Bing, and they always lead me into a loop of errors that cannot be resolved. This error only occurs when the song naturally finishes playing due to its duration. If the song is playing and I use the command !skip, the next song in the queue will play and function normally. I noticed that it seems like if a song ends naturally, the song queue is also cleared immediately. I hope someone can help me with this

    


  • What Is Ethical SEO & Why Does It Matter ?

    7 mai 2024, par Erin

    Do you want to generate more revenue ?

    Then, you need to ensure you have a steady stream of traffic flowing to your site.

    Search engines like Google, Bing and Yahoo are powerful mediums you can use to scale your business.

    Search engine optimisation (SEO) is the process of creating search engine-friendly content to draw in traffic to your website. But, if you aren’t careful, you could be crossing the line of ethical SEO into unethical SEO.

    In this article, we break down what ethical SEO is, why it’s important in business and how you can implement effective SEO into your business while remaining ethical.

    Let’s begin.

    What is ethical SEO ?

    Since the early days of the internet and search engines, business owners and marketers have tried using all kinds of SEO tactics to rank atop the search engines for relevant keywords.

    The problem ?

    Some of these practices are ethical, while others aren’t.

    What exactly is ethical SEO ?

    It’s the practice of optimising your website’s rankings in search engines by following search engine guidelines and prioritising user experience.

    What is ethical SEO?

    Ethical SEO is also referred to as “white hat SEO.”

    On the other hand, businesses that break search engine rules and guidelines to “hack” their way to the top with faulty and questionable practices use unethical SEO, or “black hat SEO.”

    Ethical SEO aims to achieve higher rankings in search engines through sustainable, legitimate and fair methods.

    Black hat, or unethical SEO, aims to manipulate or “game” the system with deceptive strategies to bypass the search engine’s guidelines to rank higher.

    The two core branches of ethical SEO include :

    1. Strategies that align with search engine guidelines.
    2. Accessibility to broad audiences.

    Some examples of ethical SEO principles include :

    • Natural link building
    • Compliance with search engine guidelines
    • Establishing great user experiences
    • Creating reader-focused content

    By sticking to the right guidelines and implementing proper SEO practices, businesses can establish ethical SEO to generate more traffic and grow their brands.

    8 ethical SEO practices to implement

    If you want to grow your organic search traffic, then there’s no doubt you’ll need to have some SEO knowledge.

    While there are dozens of ways to “game” SEO, it’s best to stick to proven, ethical SEO techniques to improve your rankings.

    Stick to these best practices to increase your rankings in the search engine results pages (SERPs), increase organic traffic and improve your website conversions.

    8 Ethical SEO Practices to Implement

    1. Crafting high-quality content

    The most important piece of any ethical SEO strategy is content.

    Forget about rankings, keywords and links for a second.

    Step back and think about why people go to Google, Bing and Yahoo in the first place.

    They’re there looking for information. They have a question they need answered. That’s where you can come in and give them the answer they want. 

    How ? In the form of content.

    The best long-term ethical SEO strategy is to create the highest-quality content possible. Crafting high-quality content should be where you focus 90% of your SEO efforts.

    2. Following search engine guidelines

    Once you’ve got a solid content creation strategy, where you’re producing in-depth, quality content, you need to ensure you’re following the guidelines and rules put in place by the major search engines.

    This means you need to stay compliant with the best practices and guidelines laid out by the top search engines.

    If you fail to follow these rules, you could be penalised, your content could be downgraded or removed from search engines, and you could even have your entire website flagged, impacting your entire organic search traffic from your site.

    You need to ensure you align with the guidelines so you’re set up for long-term success with your SEO.

    3. Conducting keyword research and optimisation

    Now that we’ve covered content and guidelines, let’s talk about the technical stuff, starting with keywords.

    In the early days of SEO (late 90s), just about anyone could rank a web page high by stuffing keywords all over the page.

    While those black hat techniques used to work to “game” the system, it doesn’t work like that anymore. Google and other major search engines have much more advanced algorithms that can detect keyword stuffing and manipulation.

    Keywords are still a major part of a successful SEO strategy. You can ethically incorporate keywords into your content (and you should) if you want to rank higher. 

    Your main goal with your content is to match it with the search intent. So, incorporating keywords should come naturally throughout your content. If you try to stuff in unnecessary keywords or use spammy techniques, you may not even rank at all and could harm your website’s rankings.

    4. Incorporating natural link building

    After you’ve covered content and keywords, it’s time to dive into links. Backlinks are any links that point back to your website from another website.

    These are a crucial part of the SEO pie. Without them, it’s hard to rank high on Google. They work well because they tell Google your web page or website has authority on a subject matter.

    But you could be penalised if you try to manipulate backlinks by purchasing them or spamming them from other websites.

    Instead, you should aim to draw in natural backlinks by creating content that attracts them.

    How ? There are several options :

    • Content marketing
    • Email outreach
    • Brand mentions
    • Public relations
    • Ethical guest posting

    Get involved in other people’s communities. Get on podcasts. Write guest posts. Connect with other brands. Provide value in your niche and create content worth linking to.

    5. Respecting the intellectual property of other brands

    Content creation is moving at lightspeed in the creator economy and social media era. For better or for worse, content is going viral every day. People share content, place their spin on it, revise it, optimise it, and spread it around the internet.

    Unfortunately, this means the content is sometimes shared without the owner’s permission. Content is one form of intellectual property (IP). 

    If you share copyrighted material, you could face legal consequences.

    6. Ensuring transparency

    Transparency is one of the pillars of ethical marketing.

    If you’re running the SEO in your company or an agency, you should always explain the SEO strategies and tactics you’re implementing to your stakeholders.

    It’s best to lean on transparency and honesty to ensure your team knows you’re running operations ethically.

    7. Implementing a great user experience

    The final pillar of ethical SEO practices is offering a great user experience on your website.

    Major search engines like Google are favouring user experience more and more every year. This means knowing how to track and analyse website metrics like page load times, time on page, pageviews, media plays and event tracking.

    8. Use an ethical web analytics solution

    Last but certainly not least. Tracking your website visitors ethically is key to maintaining SEO ethics.

    You can do this by using an ethical web analytics solution like Matomo, Plausible or Fathom. All three are committed to respecting user privacy and offer ethical tracking of visitors.

    We’re a bit biassed towards Matomo, of course, but for good reasons.

    Matomo offers accurate, unsampled data along with advanced features like heatmaps, session recording, and A/B testing. These features enhance user experience and support ethical SEO practices by providing insights into user behaviour, helping optimise content. 

    Try Matomo for Free

    Get the web insights you need, without compromising data accuracy.

    No credit card required

    6 unethical SEO practices to avoid

    Now that we’ve covered the ethical SEO best practices let’s talk about what kind of unethical SEO practices you want to avoid.

    Remember, SEO isn’t as easy to manipulate as it once was 20 years ago.

    Algorithms are much more sophisticated now, and search engines are getting better at detecting fraudulent, scammy or unethical SEO practices every year.

    Avoid these eight unethical SEO practices to ensure you can rank high in the long term :

    6 unethical SEO practices to avoid.

    1. Keyword stuffing

    Keyword stuffing is probably the most common unethical SEO practice. This is where someone deliberately stuffs keywords onto a page to manipulate the search engines to rank a web page higher.

    Where this is unethical isn’t always easy to detect, but in some cases, it is. It comes down to whether it’s relevant and natural or intentionally stuffing.

    2. Cloaking

    Cloaking is another unethical SEO practice where someone manipulates the information search engines see on their website.

    For example, someone may show search engines one web page on their website, but when someone clicks on it in Google, they can direct someone to a completely different page. They do this by detecting the incoming request from the user agent and presenting different content.

    3. Deceiving functionality

    Another way companies are unethically implementing SEO tactics is by deceiving people with misleading information. For example, a website may claim to provide a free resource or directory but may intentionally lead visitors to paid products.

    4. Fraudulent redirects

    Another way to deceive or mislead searchers is by creating fraudulent redirects. A redirect is a way to take someone to a different web page when they click on another one. Redirects can be useful if a page is broken or outdated. However, they can be used to deceptively take someone to a website they didn’t intend to view.

    5. Negative SEO

    Negative SEO is the intentional attempt to harm a competitor’s search engine rankings through unethical tactics.

    These tactics include duplicating their content or generating spammy links by creating low quality or irrelevant backlinks to their site.

    6. Hidden text

    Placing hidden text on a website typically has one purpose : keyword stuffing.

    Instead of making it visible to users reading the content, websites will place invisible text or text that’s hard to read on a website to try to rank the content higher and manipulate the search engines.

    3 reasons you need to implement ethical SEO

    So, why should you ensure you only implement ethical SEO in your organic traffic strategy ?

    It’s not just about what’s morally right or wrong. Implementing ethical SEO is the smartest long-term marketing strategy :

    1. Better long-term SEO

    Search engine optimisation is about implementing the “right” tactics to get your website to rank higher.

    The funny thing is many people are trying to get quick fixes by manipulating search engines to see results now.

    However, the ones who implement shady tactics and “hacks” to game the system almost always end up losing their rankings in the long term. 

    The best long-term SEO strategy is to do things ethically. Create content that helps people. Make higher quality content than your competitors. If you do those two things right, you’ll have better search traffic for years.

    2. Great brand reputation

    Not only is ethical SEO a great way to get long-term results, but it’s also a good way to maintain a solid brand reputation.

    Reputation management is a crucial aspect of SEO. All it takes is one bad incident, and your SEO could be negatively impacted.

    3. Lower chance of penalties

    If you play by the rules, you have a lower risk of being penalised by Google.

    The reality is that Google owns the search engine, not you. While we can benefit from the traffic generation of major search engines, you could lose all your rankings if you break their guidelines.

    Track SEO data ethically with Matomo

    Ethical SEO is all about :

    • Serving your audience
    • Getting better traffic in the long run

    If you fail to follow ethical SEO practices, you could be de-ranked or have your reputation on the line.

    However, if you implement ethical SEO, you could reap the rewards of a sustainable marketing strategy that helps you grow your traffic correctly and increase conversions in the long term.

    If you’re ready to start implementing ethical SEO, you need to ensure you depend on an ethical web analytics solution like Matomo.

    Unlike other web analytics solutions, Matomo prioritises user privacy, maintains transparent, ethical data collection practices, and does not sell user data to advertisers. Matomo provides 100% data ownership, ensuring that your data remains yours to own and control.

    As the leading privacy-friendly web analytics solution globally, trusted by over 1 million websites, Matomo ensures :

    • Accurate data without data sampling for confident insights and better results
    • Privacy-friendly and GDPR-compliant web analytics
    • Open-source access for transparency and creating a custom solution tailored to your needs

    Try Matomo free for 21-days. No credit card required.

  • CRO Program : Best Practices and KPIs to Track [2024]

    8 mai 2024, par Erin

    Driving traffic to your website is only one part of the equation ; the second part is getting those visitors to convert by completing a desired action — creating an account, signing up for a newsletter or completing a purchase. 

    But if you fail to optimise your website for conversions, you’ll have a hard time guiding visitors further down the funnel and turning them into customers.

    That’s where a CRO program (or conversion rate optimisation) can help. 

    This article will cover conversion rate optimisation best practices and outline key metrics and KPIs to start tracking to see an improvement in your conversion rates.

    What is a CRO program ? 

    In the simplest terms, a CRO program — also called a CRO plan — is a digital marketing strategy. It focuses on implementing different tactics that can lead to an increase in conversion rate and maximising revenue. 

    CRO concept with marketing icons

    One thing to remember is that the definition of “conversion” varies from business to business. The most obvious type of conversion would be a financial transaction or a completed form — but it comes down to what you consider a valuable action. 

    Many different actions can count as conversions, depending on your marketing goals. 

    Besides making a purchase, other common examples of key conversion moments include creating a new account, signing up for a free trial, booking a demo and subscribing to an email newsletter. 

    Another thing worth noting is that while the average conversion rate on e-commerce websites is 3.76%, it might fluctuate across different industries and device types. Case in point — desktop devices have higher conversion rates than mobile devices, clocking in at 4.79% and 3.32%, respectively. 

    So, in addition to defining your key conversion moments, you should also go over conversion insights relevant to your specific industry. 

    The importance of conversion rate optimisation 

    You’d be right to assume that the ultimate goal of a conversion rate optimisation process is to drive revenue through higher conversion rates — but don’t focus solely on the numbers. The core principle of a CRO program is improving the customer experience. Once you’ve achieved that, the increase in conversion rate will follow. 

    Illustration of conversion funnel optimisation

    According to a recent report, global conversion rate optimisation (CRO) software sales are expected to reach $3.7 billion by 2032 — up from $1.1 billion in 2021. 

    This growth indicates the increasing interest in strategies and tools that can help optimise the conversion funnel. Businesses are looking for ways to keep potential customers engaged and improve the average conversion rate — without necessarily increasing their spending. 

    Here are a few reasons why a CRO program deserves a spot in your broader digital marketing strategies : 

    • It can lower your cost per acquisition (CPA) : A CRO program is about optimising your conversion funnel by leveraging existing assets and website traffic rather than increasing your spending — which lowers the costs of acquiring new customers and, in turn, drives ROI. 
    • It can maximise customer lifetime value (CLV) : If you can turn one-time buyers into repeat customers, you’ll be one step closer to building a loyal user base and increasing your CLV. 
    • It can lead to increased sales and boost your revenue : Higher conversion rates typically mean higher revenue ; that’s arguably the most obvious benefit of implementing a CRO program
    • It improves the overall user experience : The goal is to make your site more accessible, easier to navigate and more engaging. Delivering the experience people want — and expect — when navigating your website is one of the core principles of a CRO program.
    • It helps you to get to know your customers better : You can’t meet your customers’ needs without taking the time to know them, create user personas and understand their preferences, pain points and conversion barriers they may be facing. 

    Conversion optimisation gives you a competitive edge in revenue and brand reputation. 

    5 CRO best practices 

    Illustration of different CRO elements

    Here are five conversion rate optimisation strategies and best practices that can make a real difference in the customer experience — and drive potential conversions. 

    Create a CRO roadmap in advance 

    First and foremost, you’ll need a well-defined “game plan” that aligns with and reflects your conversion goals. 

    A CRO roadmap is a detailed manual that outlines how to implement different elements of your CRO-related efforts. Marketing teams can refer to this step-by-step framework for test planning, prioritisation and resource allocation while optimising their marketing strategy. 

    While conversion rate optimisation can be a complex process — especially when you don’t know what to tackle first — we’ve found that there are three things you need to consider when setting the foundations of a successful CRO program : 

    • The “why” behind your website traffic : You’re likely using different online marketing strategies — from SEO to pay-per-click (PPC). So, it’s best to start by gathering channel-specific conversion insights through marketing attribution. Then identify which of these efforts have the biggest impact on your target audience. 
    • The so-called “conversion blockers” that tell you where and why visitors tend to leave without completing a desired action : Funnel analysis might reveal problematic pages — drop-off points where you tend to lose most of your visitors. 
    • Your “hooks” : User feedback can be of great help here ; you can learn a lot by simply asking your customers to fill out a quick online survey and tell you what motivated them to take action.

    Before working on that “game plan,” perform a pre-test analysis. 

    Matomo combines web analytics and user behaviour analytics with features like Heatmaps, Session Recordings, Form Analytics, Funnel Analytics, A/B Testing and User Flow. It can give you those initial benchmarks for measuring progress and a potential increase in conversion rate. 

    Validate your ideas with A/B and multivariate testing 

    Conversion rate optimisation is an iterative process. So, it shouldn’t come as a surprise that A/B testing variants of page layouts, CTAs, headlines, copy and other elements is a big part of it.

    Multivariate and A/B testing allows you to test a wide range of elements across your site and identify what works — and, more importantly, what doesn’t — in terms of driving conversions.

    On that note, Matomo’s A/B Testing feature can support your conversion rate optimisation process by identifying variants that perform better based on statistical significance. 

    Try Matomo for Free

    Get the web insights you need, without compromising data accuracy.

    No credit card required

    Get to know your website visitors 

    Driving conversions comes down to understanding potential customer’s pain points and needs — and delivering an experience that positions you as the solution and gets them to take action. 

    Here are a few things that can help you understand your website visitors better : 

    • Collecting customer feedback through surveys and using it to identify main areas for improvement 
    • Creating detailed customer personas and optimising your website design and messaging based on your target audience’s pain points, needs and wants 
    • Using heatmaps — colour-coded data visualisation tools that illustrate user interactions — and scroll maps to get a comprehensive overview of online sessions and identify the most engaging elements and those that stand out as potential conversion barriers 

    Matomo’s Heatmaps can help you identify the most-clicked elements on the page and show how far users scroll — providing powerful user insights you can use to optimise these pages.

    Try Matomo for Free

    Get the web insights you need, without compromising data accuracy.

    No credit card required

    Remove friction points 

    As we previously discussed, identifying friction points and barriers to conversion — issues that prevent visitors from converting — is one of the crucial aspects of developing a CRO plan. 

    Many different “conversion blockers” are worth looking into, including : 

    • Lengthy or otherwise complex checkout processes 
    • No guest checkout feature 
    • Device type, browser and OS compatibility issues 
    • Slow site speed and other technical issues
    • Lack of free shipping and limited payment methods 
    • Absence of social proof (customer reviews and testimonials) and trust badges

    Once you’ve identified what’s slowing down or completely discouraging users from reaching key conversion moments, take the time to address it. 

    Switch to text-based CTAs 

    Calls-to-action (CTAs) play a crucial role in guiding customers from interest to action. However, sometimes they fail to do their job — encouraging website visitors to proceed to the next step — effectively. 

    The most obvious reason is that your CTAs aren’t visually engaging or clear enough. In that case, you can try using action-oriented language and stronger visual elements and aligning the CTA copy with the context of the page. 

    But more often than not, the issue comes down to a phenomenon called “banner blindness” — the tendency of website visitors to ignore (either intentionally or unintentionally) elements on a page that resemble banner ads. 

    And if that’s what’s preventing visitors from converting, consider switching to text-based CTAs. 

    Conversion rate optimisation metrics and KPIs 

    At this point, you should know the outcomes you hope to achieve. Your next step should be to figure out how you’re going to measure and analyse results — and identify the changes that made the most impact on your conversion funnel. 

    After all, your CRO action plan should be based on data — assumptions and “gut feelings” will rarely lead to a notable increase in conversion rates

    Illustration of the conversion funnel

    That brings us to key performance indicators (KPIs) : 

    Tracking CRO metrics and website KPIs can help you understand the customer’s journey and path to purchase, identify opportunities for improving the user experience (UX) and determine how to optimise conversions.

    That said, you shouldn’t try to track every metric in the book ; think about your ultimate goal and identify the metrics and KPIs most relevant to your business. 

    We’ll assume that you’re already tracking macro- and micro-conversions. However, we’ve outlined a few additional key conversion rate optimisation metrics you should keep an eye on to make sure that your CRO program is performing as intended : 

    • Cost-per-conversion : By measuring how much you spend on each successful conversion — again, completed forms, sign-ups and sales all count as key conversion moments — you’ll be in a better position to assess the cost-effectiveness of your online marketing strategies.
    • Starter rate : This metric tells you the number of people who start filling out the form, after seeing it. This metric is particularly important for companies that rely on getting leads from forms. 
    • Average order value (AOV) : This metric is important for e-commerce sites to understand the value of their transactions. AOV calculates the average monetary value of each order.

    That’s not all ; you can also use a web analytics tool like Matomo to gain granular insights into visitors : 

    • Unique, new and returning visitors : Tracking the number of new and returning visitors your website gets within a given timeframe will help you understand your user base and determine if your content resonates with them. While you want a constant stream of new traffic, don’t overlook the importance of returning visitors ; they’re the foundation of a loyal customer base.
    • User flows : By analysing the user flows, you’ll have a visual representation of how visitors use your website, which will help you understand their journey and the specific path they take. 
    • Bounce rate : This metric tells you how many users viewed a single page on your site and ended up leaving before they took any kind of action. As such, it’s a clear indicator of how good your content, CTAs and website layout are at keeping users engaged.
    • Exit rate : Another key metric to track is the exit rate — the percentage of users who drop off at a specific page. High-exit pages usually lack important information and CTAs, cause frustration or otherwise fail to meet users’ expectations. Keep in mind that there’s a difference between bounce rate and exit rate — the latter involves users who viewed at least one other page. 

    There are many other user engagement metrics you should keep an eye on in addition to the ones mentioned above — including time on-page, actions per visit, scroll depth and traffic source. You’ll find all this information — and more — in Matomo’s Page Analytics Report

    Conclusion 

    Implementing a CRO program can be a time-consuming and iterative process. However, it’s vital for guiding your marketing efforts and making data-driven decisions that’ll ultimately help you drive growth and reach your business goals. 

    It’s best to start by identifying where your website visitors come from and what contributes to — or prevents them from — taking further action. But that’s easier said than done. You’ll need to leverage web analytics tools like Matomo to gather powerful user insights and monitor your website’s performance. 

    As an all-in-one, privacy-friendly web analytics solution, Matomo combines traditional web analytics and advanced behavioural analytics — delivering a consistent experience based on 100% accurate, unsampled data.

    Join the 1 million websites that have chosen Matomo as their web analytics platform. Start your 21-day free trial today — and see how Matomo can help you improve your website’s conversion rates. No credit card required.