Recherche avancée

Médias (39)

Mot : - Tags -/audio

Autres articles (22)

  • Publier sur MédiaSpip

    13 juin 2013

    Puis-je poster des contenus à partir d’une tablette Ipad ?
    Oui, si votre Médiaspip installé est à la version 0.2 ou supérieure. Contacter au besoin l’administrateur de votre MédiaSpip pour le savoir

  • Support de tous types de médias

    10 avril 2011

    Contrairement à beaucoup de logiciels et autres plate-formes modernes de partage de documents, MediaSPIP a l’ambition de gérer un maximum de formats de documents différents qu’ils soient de type : images (png, gif, jpg, bmp et autres...) ; audio (MP3, Ogg, Wav et autres...) ; vidéo (Avi, MP4, Ogv, mpg, mov, wmv et autres...) ; contenu textuel, code ou autres (open office, microsoft office (tableur, présentation), web (html, css), LaTeX, Google Earth) (...)

  • Encoding and processing into web-friendly formats

    13 avril 2011, par

    MediaSPIP automatically converts uploaded files to internet-compatible formats.
    Video files are encoded in MP4, Ogv and WebM (supported by HTML5) and MP4 (supported by Flash).
    Audio files are encoded in MP3 and Ogg (supported by HTML5) and MP3 (supported by Flash).
    Where possible, text is analyzed in order to retrieve the data needed for search engine detection, and then exported as a series of image files.
    All uploaded files are stored online in their original format, so you can (...)

Sur d’autres sites (6143)

  • Stream ffmpeg transcoding result to S3

    7 juin 2019, par mabead

    I want to transcode a large file using FFMPEG and store the result directly on AWS S3. This will be done inside of an AWS Lambda that has limited tmp space so I can’t store the transcoding result locally and then upload it to S3 in a second step. I won’t have enough tmp space. I therefore want to store the FFMPEG output directly on S3.

    I therefore created a S3 pre-signed url that allows ’PUT’ :

    var outputPath = s3Client.GetPreSignedURL(new Amazon.S3.Model.GetPreSignedUrlRequest
    {
       BucketName = "my-bucket",
       Expires = DateTime.UtcNow.AddMinutes(5),
       Key = "output.mp3",
       Verb = HttpVerb.PUT,
    });

    I then called ffmpeg with the resulting pre-signed url :

    ffmpeg -i C:\input.wav -y -vn -ar 44100 -ac 2 -ab 192k -f mp3 https://my-bucket.s3.amazonaws.com/output.mp3?AWSAccessKeyId=AKIAJDSGJWM63VQEXHIQ&Expires=1550427237&Signature=%2BE8Wc%2F%2FQYrvGxzc%2FgXnsvauKnac%3D

    FFMPEG returns an exit code of 1 with the following output :

    ffmpeg version N-93120-ga84af760b8 Copyright (c) 2000-2019 the FFmpeg developers
     built with gcc 8.2.1 (GCC) 20190212
     configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
     libavutil      56. 26.100 / 56. 26.100
     libavcodec     58. 47.100 / 58. 47.100
     libavformat    58. 26.101 / 58. 26.101
     libavdevice    58.  6.101 / 58.  6.101
     libavfilter     7. 48.100 /  7. 48.100
     libswscale      5.  4.100 /  5.  4.100
     libswresample   3.  4.100 /  3.  4.100
     libpostproc    55.  4.100 / 55.  4.100
    Guessed Channel Layout for Input Stream #0.0 : stereo
    Input #0, wav, from 'C:\input.wav':
     Duration: 00:04:16.72, bitrate: 3072 kb/s
       Stream #0:0: Audio: pcm_s32le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s32, 3072 kb/s
    Stream mapping:
     Stream #0:0 -> #0:0 (pcm_s32le (native) -> mp3 (libmp3lame))
    Press [q] to stop, [?] for help
    Output #0, mp3, to 'https://my-bucket.s3.amazonaws.com/output.mp3?AWSAccessKeyId=AKIAJDSGJWM63VQEXHIQ&Expires=1550427237&Signature=%2BE8Wc%2F%2FQYrvGxzc%2FgXnsvauKnac%3D':
     Metadata:
       TSSE            : Lavf58.26.101
       Stream #0:0: Audio: mp3 (libmp3lame), 44100 Hz, stereo, s32p, 192 kb/s
       Metadata:
         encoder         : Lavc58.47.100 libmp3lame
    size=     577kB time=00:00:24.58 bitrate= 192.2kbits/s speed=49.1x    
    size=    1109kB time=00:00:47.28 bitrate= 192.1kbits/s speed=47.2x    
    [tls @ 000001d73d786b00] Error in the push function.
    av_interleaved_write_frame(): I/O error
    Error writing trailer of https://my-bucket.s3.amazonaws.com/output.mp3?AWSAccessKeyId=AKIAJDSGJWM63VQEXHIQ&Expires=1550427237&Signature=%2BE8Wc%2F%2FQYrvGxzc%2FgXnsvauKnac%3D: I/O error
    size=    1143kB time=00:00:48.77 bitrate= 192.0kbits/s speed=  47x    
    video:0kB audio:1144kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    [tls @ 000001d73d786b00] The specified session has been invalidated for some reason.
    [tls @ 000001d73d786b00] Error in the pull function.
    [https @ 000001d73d784fc0] URL read error:  -5
    Conversion failed!

    As you can see, I have a URL read error. This is a little surprising to me since I want to output to this url and not read it.

    Anybody know how I can store directly my FFMPEG output directly to S3 without having to store it locally first ?

    Edit 1
    I then tried to use the -method PUT parameter and use http instead of https to remove TLS from the equation. Here’s the output that I got when running ffmpeg with the -v trace option.

    ffmpeg version N-93120-ga84af760b8 Copyright (c) 2000-2019 the FFmpeg developers
     built with gcc 8.2.1 (GCC) 20190212
     configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libdav1d --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-libvo-amrwbenc --enable-libmysofa --enable-libspeex --enable-libxvid --enable-libaom --enable-libmfx --enable-amf --enable-ffnvcodec --enable-cuvid --enable-d3d11va --enable-nvenc --enable-nvdec --enable-dxva2 --enable-avisynth --enable-libopenmpt
     libavutil      56. 26.100 / 56. 26.100
     libavcodec     58. 47.100 / 58. 47.100
     libavformat    58. 26.101 / 58. 26.101
     libavdevice    58.  6.101 / 58.  6.101
     libavfilter     7. 48.100 /  7. 48.100
     libswscale      5.  4.100 /  5.  4.100
     libswresample   3.  4.100 /  3.  4.100
     libpostproc    55.  4.100 / 55.  4.100
    Splitting the commandline.
    Reading option '-i' ... matched as input url with argument 'C:\input.wav'.
    Reading option '-y' ... matched as option 'y' (overwrite output files) with argument '1'.
    Reading option '-vn' ... matched as option 'vn' (disable video) with argument '1'.
    Reading option '-ar' ... matched as option 'ar' (set audio sampling rate (in Hz)) with argument '44100'.
    Reading option '-ac' ... matched as option 'ac' (set number of audio channels) with argument '2'.
    Reading option '-ab' ... matched as option 'ab' (audio bitrate (please use -b:a)) with argument '192k'.
    Reading option '-f' ... matched as option 'f' (force format) with argument 'mp3'.
    Reading option '-method' ... matched as AVOption 'method' with argument 'PUT'.
    Reading option '-v' ... matched as option 'v' (set logging level) with argument 'trace'.
    Reading option 'https://my-bucket.s3.amazonaws.com/output.mp3?AWSAccessKeyId=AKIAJDSGJWM63VQEXHIQ&Expires=1550695990&Signature=dy3RVqDlX%2BlJ0INlDkl0Lm1Rqb4%3D' ... matched as output url.
    Finished splitting the commandline.
    Parsing a group of options: global .
    Applying option y (overwrite output files) with argument 1.
    Applying option v (set logging level) with argument trace.
    Successfully parsed a group of options.
    Parsing a group of options: input url C:\input.wav.
    Successfully parsed a group of options.
    Opening an input file: C:\input.wav.
    [NULL @ 000001fb37abb180] Opening 'C:\input.wav' for reading
    [file @ 000001fb37abc180] Setting default whitelist 'file,crypto'
    Probing wav score:99 size:2048
    [wav @ 000001fb37abb180] Format wav probed with size=2048 and score=99
    [wav @ 000001fb37abb180] Before avformat_find_stream_info() pos: 54 bytes read:65590 seeks:1 nb_streams:1
    [wav @ 000001fb37abb180] parser not found for codec pcm_s32le, packets or times may be invalid.
       Last message repeated 1 times
    [wav @ 000001fb37abb180] All info found
    [wav @ 000001fb37abb180] stream 0: start_time: -192153584101141.156 duration: 256.716
    [wav @ 000001fb37abb180] format: start_time: -9223372036854.775 duration: 256.716 bitrate=3072 kb/s
    [wav @ 000001fb37abb180] After avformat_find_stream_info() pos: 204854 bytes read:294966 seeks:1 frames:50
    Guessed Channel Layout for Input Stream #0.0 : stereo
    Input #0, wav, from 'C:\input.wav':
     Duration: 00:04:16.72, bitrate: 3072 kb/s
       Stream #0:0, 50, 1/48000: Audio: pcm_s32le ([1][0][0][0] / 0x0001), 48000 Hz, stereo, s32, 3072 kb/s
    Successfully opened the file.
    Parsing a group of options: output url https://my-bucket.s3.amazonaws.com/output.mp3?AWSAccessKeyId=AKIAJDSGJWM63VQEXHIQ&Expires=1550695990&Signature=dy3RVqDlX%2BlJ0INlDkl0Lm1Rqb4%3D.
    Applying option vn (disable video) with argument 1.
    Applying option ar (set audio sampling rate (in Hz)) with argument 44100.
    Applying option ac (set number of audio channels) with argument 2.
    Applying option ab (audio bitrate (please use -b:a)) with argument 192k.
    Applying option f (force format) with argument mp3.
    Successfully parsed a group of options.
    Opening an output file: https://my-bucket.s3.amazonaws.com/output.mp3?AWSAccessKeyId=AKIAJDSGJWM63VQEXHIQ&Expires=1550695990&Signature=dy3RVqDlX%2BlJ0INlDkl0Lm1Rqb4%3D.
    [http @ 000001fb37b15140] Setting default whitelist 'http,https,tls,rtp,tcp,udp,crypto,httpproxy'
    [tcp @ 000001fb37b16c80] Original list of addresses:
    [tcp @ 000001fb37b16c80] Address 52.216.8.203 port 80
    [tcp @ 000001fb37b16c80] Interleaved list of addresses:
    [tcp @ 000001fb37b16c80] Address 52.216.8.203 port 80
    [tcp @ 000001fb37b16c80] Starting connection attempt to 52.216.8.203 port 80
    [tcp @ 000001fb37b16c80] Successfully connected to 52.216.8.203 port 80
    [http @ 000001fb37b15140] request: PUT /output.mp3?AWSAccessKeyId=AKIAJDSGJWM63VQEXHIQ&Expires=1550695990&Signature=dy3RVqDlX%2BlJ0INlDkl0Lm1Rqb4%3D HTTP/1.1
    Transfer-Encoding: chunked
    User-Agent: Lavf/58.26.101
    Accept: */*
    Connection: close
    Host: landr-distribution-reportsdev-mb.s3.amazonaws.com
    Icy-MetaData: 1
    Successfully opened the file.
    Stream mapping:
     Stream #0:0 -> #0:0 (pcm_s32le (native) -> mp3 (libmp3lame))
    Press [q] to stop, [?] for help
    cur_dts is invalid (this is harmless if it occurs once at the start per stream)
    detected 8 logical cores
    [graph_0_in_0_0 @ 000001fb37b21080] Setting 'time_base' to value '1/48000'
    [graph_0_in_0_0 @ 000001fb37b21080] Setting 'sample_rate' to value '48000'
    [graph_0_in_0_0 @ 000001fb37b21080] Setting 'sample_fmt' to value 's32'
    [graph_0_in_0_0 @ 000001fb37b21080] Setting 'channel_layout' to value '0x3'
    [graph_0_in_0_0 @ 000001fb37b21080] tb:1/48000 samplefmt:s32 samplerate:48000 chlayout:0x3
    [format_out_0_0 @ 000001fb37b22cc0] Setting 'sample_fmts' to value 's32p|fltp|s16p'
    [format_out_0_0 @ 000001fb37b22cc0] Setting 'sample_rates' to value '44100'
    [format_out_0_0 @ 000001fb37b22cc0] Setting 'channel_layouts' to value '0x3'
    [format_out_0_0 @ 000001fb37b22cc0] auto-inserting filter 'auto_resampler_0' between the filter 'Parsed_anull_0' and the filter 'format_out_0_0'
    [AVFilterGraph @ 000001fb37b0d940] query_formats: 4 queried, 6 merged, 3 already done, 0 delayed
    [auto_resampler_0 @ 000001fb37b251c0] picking s32p out of 3 ref:s32
    [auto_resampler_0 @ 000001fb37b251c0] [SWR @ 000001fb37b252c0] Using fltp internally between filters
    [auto_resampler_0 @ 000001fb37b251c0] ch:2 chl:stereo fmt:s32 r:48000Hz -> ch:2 chl:stereo fmt:s32p r:44100Hz
    Output #0, mp3, to 'https://my-bucket.s3.amazonaws.com/output.mp3?AWSAccessKeyId=AKIAJDSGJWM63VQEXHIQ&Expires=1550695990&Signature=dy3RVqDlX%2BlJ0INlDkl0Lm1Rqb4%3D':
     Metadata:
       TSSE            : Lavf58.26.101
       Stream #0:0, 0, 1/44100: Audio: mp3 (libmp3lame), 44100 Hz, stereo, s32p, delay 1105, 192 kb/s
       Metadata:
         encoder         : Lavc58.47.100 libmp3lame
    cur_dts is invalid (this is harmless if it occurs once at the start per stream)
       Last message repeated 6 times
    size=     649kB time=00:00:27.66 bitrate= 192.2kbits/s speed=55.3x    
    size=    1207kB time=00:00:51.48 bitrate= 192.1kbits/s speed=51.5x    
    av_interleaved_write_frame(): Unknown error
    No more output streams to write to, finishing.
    [libmp3lame @ 000001fb37b147c0] Trying to remove 47 more samples than there are in the queue
    Error writing trailer of https://my-bucket.s3.amazonaws.com/output.mp3?AWSAccessKeyId=AKIAJDSGJWM63VQEXHIQ&Expires=1550695990&Signature=dy3RVqDlX%2BlJ0INlDkl0Lm1Rqb4%3D: Error number -10054 occurred
    size=    1251kB time=00:00:53.39 bitrate= 192.0kbits/s speed=51.5x    
    video:0kB audio:1252kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    Input file #0 (C:\input.wav):
     Input stream #0:0 (audio): 5014 packets read (20537344 bytes); 5014 frames decoded (2567168 samples);
     Total: 5014 packets (20537344 bytes) demuxed
    Output file #0 (https://my-bucket.s3.amazonaws.com/output.mp3?AWSAccessKeyId=AKIAJDSGJWM63VQEXHIQ&Expires=1550695990&Signature=dy3RVqDlX%2BlJ0INlDkl0Lm1Rqb4%3D):
     Output stream #0:0 (audio): 2047 frames encoded (2358144 samples); 2045 packets muxed (1282089 bytes);
     Total: 2045 packets (1282089 bytes) muxed
    5014 frames successfully decoded, 0 decoding errors
    [AVIOContext @ 000001fb37b1f440] Statistics: 0 seeks, 2046 writeouts
    [http @ 000001fb37b15140] URL read error:  -10054
    [AVIOContext @ 000001fb37ac4400] Statistics: 20611126 bytes read, 1 seeks
    Conversion failed!

    So it looks like it is able to connect to my S3 pre-signed url but I still have the Error writing trailer error coupled with a URL read error.

  • A Guide to GDPR Sensitive Personal Data

    13 mai 2024, par Erin

    The General Data Protection Regulation (GDPR) is one of the world’s most stringent data protection laws. It provides a legal framework for collection and processing of the personal data of EU individuals.

    The GDPR distinguishes between “special categories of personal data” (also referred to as “sensitive”) and other personal data and imposes stricter requirements on collection and processing of sensitive data. Understanding these differences will help your company comply with the requirements and avoid heavy penalties.

    In this article, we’ll explain what personal data is considered “sensitive” according to the GDPR. We’ll also examine how a web analytics solution like Matomo can help you maintain compliance.

    What is sensitive personal data ?

    The following categories of data are treated as sensitive :

      1. Personal data revealing :
        • Racial or ethnic origin ;
        • Political opinions ;
        • Religious or philosophical beliefs ;
        • Trade union membership ;
      2. Genetic and biometric data ;
      3. Data concerning a person’s :
        • Health ; or
        • Sex life or sexual orientation.
    Examples of GDPR Sensitive Personal Data

    Sensitive vs. non-sensitive personal data : What’s the difference ?

    While both categories include information about an individual, sensitive data is seen as more private, or requiring a greater protection. 

    Sensitive data often carries a higher degree of risk and harm to the data subject, if the data is exposed. For example, a data breach exposing health records could lead to discrimination for the individuals involved. An insurance company could use the information to increase premiums or deny coverage. 

    In contrast, personal data like name or gender is considered less sensitive because it doesn’t carry the same degree of harm as sensitive data. 

    Unauthorised access to someone’s name alone is less likely to harm them or infringe on their fundamental rights and freedoms than an unauthorised access to their health records or biometric data. Note that financial information (e.g. credit card details) does not fall into the special categories of data.

    Table displaying different sensitive data vs non-sensitive data

    Legality of processing

    Under the GDPR, both sensitive and nonsensitive personal data are protected. However, the rules and conditions for processing sensitive data are more stringent.

    Article 6 deals with processing of non-sensitive data and it states that processing is lawful if one of the six lawful bases for processing applies. 

    In contrast, Art. 9 of the GDPR states that processing of sensitive data is prohibited as a rule, but provides ten exceptions. 

    It is important to note that the lawful bases in Art. 6 are not the same as exceptions in Art. 9. For example, while performance of a contract or legitimate interest of the controller are a lawful basis for processing non-sensitive personal data, they are not included as an exception in Art. 9. What follows is that controllers are not permitted to process sensitive data on the basis of contract or legitimate interest. 

    The exceptions where processing of sensitive personal data is permitted (subject to additional requirements) are : 

    • Explicit consent : The individual has given explicit consent to processing their sensitive personal data for specified purpose(s), except where an EU member state prohibits such consent. See below for more information about explicit consent. 
    • Employment, social security or social protection : Processing sensitive data is necessary to perform tasks under employment, social security or social protection law.
    • Vital interests : Processing sensitive data is necessary to protect the interests of a data subject or if the individual is physically or legally incapable of consenting. 
    • Non-for-profit bodies : Foundations, associations or nonprofits with a political, philosophical, religious or trade union aim may process the sensitive data of their members or those they are in regular contact with, in connection with their purposes (and no disclosure of the data is permitted outside the organisation, without the data subject’s consent).
    • Made public : In some cases, it may be permissible to process the sensitive data of a data subject if the individual has already made it public and accessible. 
    • Legal claims : Processing sensitive data is necessary to establish, exercise or defend legal claims, including legal or in court proceedings.
    • Public interest : Processing is necessary for reasons of substantial public interest, like preventing unlawful acts or protecting the public.
    • Health or social care : Processing special category data is necessary for : preventative or occupational medicine, providing health and social care, medical diagnosis or managing healthcare systems.
    • Public health : It is permissible to process sensitive data for public health reasons, like protecting against cross-border threats to health or ensuring the safety of medicinal products or medical devices. 
    • Archiving, research and statistics : You may process sensitive data if it’s done for archiving purposes in the public interest, scientific or historical research purposes or statistical purposes.

    In addition, you must adhere to all data handling requirements set by the GDPR.

    Important : Note that for any data sent that you are processing, you always need to identify a lawful basis under Art. 6. In addition, if the data sent contains sensitive data, you must comply with Art. 9.

    Explicit consent

    While consent is a valid lawful basis for processing non-sensitive personal data, controllers are permitted to process sensitive data only with an “explicit consent” of the data subject.

    The GDPR does not define “explicit” consent, but it is accepted that it must meet all Art. 7 conditions for consent, at a higher threshold. To be “explicit” a consent requires a clear statement (oral or written) of the data subject. Consent inferred from the data subject’s actions does not meet the threshold. 

    The controller must retain records of the explicit consent and provide appropriate consent withdrawal method to allow the data subject to exercise their rights.

    Examples of compliant and non-compliant sensitive data processing

    Here are examples of when you can and can’t process sensitive data :

    • When you can process sensitive data : A doctor logs sensitive data about a patient, including their name, symptoms and medicine prescribed. The hospital can process this data to provide appropriate medical care to their patients. An IoT device and software manufacturer processes their customers’ health data based on explicit consent of each customer. 
    • When you can’t process sensitive data : One example is when you don’t have explicit consent from a data subject. Another is when there’s no lawful basis for processing it or you are collecting personal data you simply do not need. For example, you don’t need your customer’s ethnic origin to fulfil an online order.

    Other implications of processing sensitive data

    If you process sensitive data, especially on a large scale, GDPR imposes additional requirements, such as having Data Privacy Impact Assessments, appointing Data Protection Officers and EU Representatives, if you are a controller based outside the EU.

    Penalties for GDPR non-compliance

    Mishandling sensitive data (or processing it when you’re not allowed to) can result in huge penalties. There are two tiers of GDPR fines :

    • €10 million or 2% of a company’s annual revenue for less severe infringements
    • €20 million or 4% of a company’s annual revenue for more severe infringements

    In the first half of 2023 alone, fines imposed in the EU due to GDPR violations exceeded €1.6 billion, up from €73 million in 2019.

    Examples of high-profile violations in the last few years include :

    • Amazon : The Luxembourg National Commission fined the retail giant with a massive $887 million fine in 2021 for not processing personal data per the GDPR. 
    • Google : The National Data Protection Commission (CNIL) fined Google €50 million for not getting proper consent to display personalised ads.
    • H&M : The Hamburg Commissioner for Data Protection and Freedom of Information hit the multinational clothing company with a €35.3 million fine in 2020 for unlawfully gathering and storing employees’ data in its service centre.

    One of the criteria that affects the severity of a fine is “data category” — the type of personal data being processed. Companies need to take extra precautions with sensitive data, or they risk receiving more severe penalties.

    What’s more, GDPR violations can negatively affect your brand’s reputation and cause you to lose business opportunities from consumers concerned about your data practices. 76% of consumers indicated they wouldn’t buy from companies they don’t trust with their personal data.

    Organisations should lay out their data practices in simple terms and make this information easily accessible so customers know how their data is being handled.

    Get started with GDPR-compliant web analytics

    The GDPR offers a framework for securing and protecting personal data. But it also distinguishes between sensitive and non-sensitive data. Understanding these differences and applying the lawful basis for processing this data type will help ensure compliance.

    Looking for a GDPR-compliant web analytics solution ?

    At Matomo, we take data privacy seriously. 

    Our platform ensures 100% data ownership, putting you in complete control of your data. Unlike other web analytics solutions, your data remains solely yours and isn’t sold or auctioned off to advertisers. 

    Additionally, with Matomo, you can be confident in the accuracy of the insights you receive, as we provide reliable, unsampled data.

    Matomo also fully complies with GDPR and other data privacy laws like CCPA, LGPD and more.

    Start your 21-day free trial today ; no credit card required. 

    Disclaimer

    We are not lawyers and don’t claim to be. The information provided here is to help give an introduction to GDPR. We encourage every business and website to take data privacy seriously and discuss these issues with your lawyer if you have any concerns.

  • SEO for Financial Services : The Ultimate Guide

    26 juin 2024, par Erin

    You know that having a digital marketing strategy is crucial for helping your financial services business capture the attention and trust of potential customers and thrive in an increasingly competitive digital landscape.

    The question is — what’s the best way to go about improving your ranking in SERPs and driving organic traffic to your website ? 

    That’s where SEO strategies for financial services come into play. 

    This article will cover everything your company needs to know about SEO for financial services — from the unique challenges you’ll face to the proven tips and strategies you can implement to boost your ranking in SERPs. 

    What is SEO for financial services ? 

    SEO — short for search engine optimisation — refers to optimising your content and website for search engines, particularly Google. 

    The main goal of an SEO strategy is to make your site search-engine-friendly, show that you’re a trusted source and increase the likelihood of appearing in SERPs when potential customers look up relevant keywords — ultimately driving organic visibility and traffic. 

    Now, when it comes to evaluating the success of your financial services SEO strategy, there are certain key performance indicators (KPIs) you should keep track of — including : 

    • SEO ranking, or the position your web pages show up in SERPs for specific search terms (the terms and phrases identified during keyword research) 
    • SEO Score, which shows a website’s overall SEO health and indicates how well it will rank in SERPs
    • Impressions, or the number of times users saw your pages when they looked up relevant search terms 
    • Organic traffic, or the number of people that visit your website via search engines
    • Engagement metrics, such as time on page, pages per session, and bounce rate 
    • Conversion rates from website traffic, including both “hard” conversions (lead generation and purchases) and “soft” conversions (such as newsletter subscriptions) 

    It’s important to note that the financial services industry is incredibly competitive — especially given the large-scale digital transformations in the financial sector and the rise of fintech companies. 

    According to a 2022 report, the global market for financial services was valued at $25.51 trillion. Moreover, it’s expected to grow at a compound annual growth rate of 9.7%, reaching $58.69 trillion by 2031.

    Importance and challenges of financial services SEO 

    The financial services industry is changing rapidly, mainly driven by globalisation, innovation, shifting economies, and compliance risks. It’s crucial for financial service companies to develop effective SEO strategies that align with the opportunities and challenges unique to this sector. 

    Certain benefits of a well-executed SEO strategy, namely, better search engine rankings, driving more search traffic, delivering a better user experience, and maximising ROI and promoting business growth, are “universal.” 

    Illustration of top position in SERPs

    Financial services SEO efforts can provide a number of benefits. It can help you : 

    • Improve lead generation and customer acquisition ; the more search traffic you get, the higher the chances of converting visitors into potential clients 
    • Build a strong online presence and brand awareness, which comes as a result of increased visibility in organic search results and reaching a wider audience 
    • Increase your credibility and authority within the industry, primarily through high-quality content that shows your expertise and backlinks from authoritative websites 
    • Gain a competitive edge by analysing and outranking your main competitors 

    That said, financial services companies face some unique challenges :

    High competition : The digital arena for financial services is highly competitive, with numerous companies vying for the same business.

    YMYL (Your Money or Your Life) content : Google’s YMYL framework places higher scrutiny on financial content, demanding higher standards for experience, expertise, authoritativeness, and trustworthiness. We’ll cover this topic in greater detail shortly.

    Regulatory changes and compliance : The financial services sector is characterised by constant regulatory changes and new compliance requirements that businesses must navigate. Sometimes this makes it difficult to gather insights and market to your audience. 

    As a privacy-fist, compliant web analytics solution Matomo can provide valuable insights to support your SEO efforts. Matomo ensures compliance with privacy laws — including GDPR, CCPA and more — and provides 20-40% more comprehensive data than Google Analytics.

    Try Matomo for Free

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

    No credit card required

    8 proven strategies for implementing SEO for financial services 

    SEO for financial services involves a wide range of strategies — including keyword optimisation, technical SEO, content marketing, link building and other off-page SEO activities — that can help your website rank higher in SERPs. 

    Of course, it’s not just about better search rankings. It’s about attracting the right search traffic to your website — potential clients interested in your financial services.

    Here are some proven financial services SEO strategies you should implement : 

    1. Build trust and topical authority 

    Financial services content typically covers more complex topics that could impact the reader’s financial stability and well-being — or, as Google calls them, “Your Money or Your Life” topics (YMYL). As such, it’s subject to much stricter quality standards. 

    To improve your YMYL content, you’ll need to apply the E-E-A-T framework — short for “Experience, Expertise, Authority, and Trust”. 

    This is a key part of Google’s search rater guidelines for evaluating a website’s quality and credibility. 

    The E-E-A-T standards become even more relevant to financial topics such as investment strategies, financial advice, taxes, and retirement planning. 

    In that sense, the overarching goal of your content strategy should be to build customer trust by demonstrating real expertise and topical authority through in-depth educational content. 

    2. Earn reputable external links through link-building 

    You also need to monitor your off-page SEO—factors outside your website that can’t be directly controlled but can still build trust and contribute to better ranking in SERPs. 

    These include everything from social media engagement and unlinked brand mentions in blog posts, news articles, user reviews and social media discussions — to inbound links from other reputable websites in the finance industry.

    That brings us to high-quality backlinks as a significant factor for YMYL content that can improve your financial services website’s SEO performance : 

    Earning external links can improve your domain authority and reinforce your brand’s position as a reliable source in the financial services niche — which, in turn, can contribute to better search engine rankings and drive more website traffic

    Here are a few link-building strategies you can try : 

    • Use tools like Ahrefs and Semrush to look for reputable websites and then request for them to link to your site
    • Demonstrate your expertise and get backlinks from reputable media outlets through Help a Reporter Out (HARO) 
    • Reach out to authoritative websites that mention your company without linking to you directly and ask them to include a link to your websit

    3. Conduct an SEO audit 

    An SEO audit is a key step in developing and implementing a successful financial SEO strategy. It sets the foundation for all your future efforts — and allows you to measure progress further down the line. 

    You’ll need to perform a comprehensive SEO audit, covering both the existing content and technical aspects of your website — including : 

    • Indexing issues
    • Internal linking and site architecture 
    • Duplicate content 
    • Backlink profile 
    • Broken links 
    • Page titles and metadata 

    It’s possible to do this manually, third-party tools will allow you to dig deeper and speed up the process. Ahrefs and Screaming Frog — to name a few — can help you evaluate your website’s overall health and structure. And, with a web analytics platform like Matomo you can easily measure the success of your SEO efforts.

    But this shouldn’t be a one-time thing ; be sure to perform audits regularly — ideally every six months. 

    4. Understand your target audience

    You can’t create helpful content without learning about your customers’ needs, pain points and preferences. 

    For example, a financial service provider focusing on individuals nearing retirement would prioritise content that educates on retirement planning strategies, investment options for seniors, and tax-efficient withdrawal strategies, aiming to guide clients through the transition from saving to managing retirement funds effectively.

    In contrast, a provider targeting small business owners would emphasise content related to small business loans, funding options, and financial management advice tailored to entrepreneurs seeking to expand their businesses and navigate financial challenges effectively.

    So, before you dive into keyword research and content creation, ensure you have a deep understanding of your target audience. 

    Identifying different audience categories and developing detailed customer personas for each segment is crucial for creating content that resonates with them and aligns with their search intent. 

    Matomo’s Segmentation tool can be of huge help here. It allows you to divide your audience into smaller groups based on factors like demographics and website interactions : 

    : Screenshot of Matomo's Segmentation tool demo

    In addition to that, you can : 

    • Engage with your frontline teams that interact directly with clients to gain deeper insights into prospects’ needs and concerns
    • Track social media channels and other online discussions related to the financial world and your audience
    • Gather qualitative insights from your site visitors through the Matomo Surveys plugin (questions like “What financial services are you most interested in ?” or “Are there any specific financial topics you would like us to cover in more detail ?” will help you understand your visitors better)
    • Watch out for financial trends and developments that could directly impact your audience’s needs and preferences 

    5. Identify new opportunities through keyword research 

    Comprehensive keyword research can help you identify key search terms — specific phrases that potential customers may use when looking up things related to their finances. 

    It’s best to start with a brainstorming session and assemble a list of relevant topics and core keywords. Once you have an initial list, use tools like Ahrefs and Semrush to get more keyword ideas based on your seed keywords, including : 

    • More specific long-tail keywords — and often less competitive — indicate a clearer intent to convert. For example :
      • “low-risk investment options for retirees”
      • “financial planning for freelancers”
      • “small business loan requirements”
    • Keywords that your competitors already rank for. For instance :
      • If a competing investment firm ranks for “best investment strategies for beginners,” targeting similar keywords can attract novice investors.
      • A competitor’s high ranking for “life insurance quotes online” suggests potential to optimise your own content around similar terms.
    • Location-specific keywords (if you have physical store locations)

    Google Search Console can provide information about the search terms you’re already ranking for — including underperforming content that may benefit from further optimisation. If you want deeper SEO insights, you can import your search keywords into Matomo. 

    While you’re at it, try Matomo’s Site Search feature, too. It will show you the exact terms and phrases visitors enter when using your website’s search bar — and you can use that information to find more content opportunities.

    Try Matomo for Free

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

    No credit card required

    Of course, not all keywords are equal — and it would be impossible to target them all. Instead, prioritise keywords based on two factors : 

    • Search volume, which indicates the “popularity” of a particular query
    • Keyword difficulty, which indicates how hard it’ll be to rank for a specific term, depending on domain authority, search volume and competition 
    Illustration of search engine optimisation concept

    6. Find your main organic competitors 

    Besides performing an SEO audit, finding your core keywords, and researching your target market, competitor analysis is another crucial aspect of SEO for finance companies. 

    Before you start, it’s important to differentiate between your main organic search competitors and your direct industry competitors : 

    You’ll always have direct competitors — other financial services brands offering similar products and services and targeting the same audience as you.

    However, regarding search results, your financial services business won’t be in a “bubble” specifically reserved for the financial industry. Depending on the specific search queries — and the search intent behind them — SERPs could feature a wider range of online content, from niche finance blogs to news websites, and huge financial publications.

    Even if another company doesn’t offer the same services, they’re an organic competitor if you’re both ranking for the same keywords. 

    Once you determine who your main organic competitors are, you can analyse their websites to : 

    • Check how they’re getting search traffic 
    • See which types of content they’re publishing 
    • Find and fill in any potential content gaps 
    • Assess the quality of their backlink profile 
    • See if they currently have any featured snippets

    7. Consider local SEO

    According to a 2023 survey, 21% of US-based consumers report using the internet to look up local businesses daily, while another 32% do so multiple times a week. 

    Local SEO is worth investing in as a financial service provider, especially with physical locations. Prospective clients will typically look up nearby financial services when they need additional information or are ready to engage in financial planning, investment, or other financial activities.

    Here are a few suggestions on how to optimise your site for local searches : 

    • Create listings on online business directories, like Google Business Profile (previously known as Google My Business)
    • If your financial service company operates in more than one physical location, be sure to create a separate Google Business Profile for each one 
    • Identify location-specific keywords that will help you rank in local SERPs
    • Make sure that your name, address, and phone number (NAP) citations are correct and consistent 
    • Leverage positive customer reviews and testimonials as social proof

    8. Optimise technical aspects of your website 

    Technical SEO — which primarily deals with the website’s underlying structure — is another crucial factor that financial services brands must monitor. 

    It’s an umbrella term that covers a wide range of elements, including : 

    • Site speed 
    • Indexing issues 
    • Broken links, orphaned pages, improper redirects 
    • On-page optimisation 
    • Mobile responsiveness

    In 2020, Google introduced Core Web Vitals, a set of metrics that measure web page performance in three key areas — loading speed, responsiveness and visual stability. 

    Given that they’re now a part of Google’s core ranking systems, you should consider using Matomo’s SEO Web Vitals feature to monitor these crucial metrics. Here’s why :

    When technical aspects of your website — namely, site speed and mobile responsiveness — are properly optimised, you can deliver a better user experience. That’s what Google seeks to reward. 

    Plus, it can be a critical brand differentiator for your business. 

    Conclusion 

    Investing in SEO for financial services is crucial for boosting online visibility and driving organic traffic and business growth. However, one thing to keep in mind is that SEO efforts shouldn’t be a one-time thing : 

    SEO is an ongoing process, and it will take time to establish your company as a trustworthy source and see real results. 

    You can start building that trust by using a web analytics platform that offers crucial insights for improving your website’s ranking in SERPs and maintains full compliance with GDPR and other privacy regulations. 

    That’s why Matomo is trusted by more than 1 million websites around the globe. As an ethical alternative to Google Analytics that doesn’t rely on data sampling, Matomo is not only easy to use but more accurate, too — providing 20-40% more data compared to GA4. 

    Sign up for a 21-day free trial and see how Matomo can support your financial services SEO strategy. No credit card required.