File size: 12,119 Bytes
5f07f11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
c75d56b
5f07f11
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
4f561f7
 
 
 
 
5f07f11
4f561f7
 
 
 
 
 
5f07f11
 
 
 
 
 
 
 
 
 
 
4f561f7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5f07f11
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
import streamlit as st
import requests
from dotenv import load_dotenv
import os
import time
from helper.telemetry import collect_telemetry
from helper.upload_File import uploadFile
from helper.button_behaviour import hide_button, unhide_button
from helper.initialize_analyze_session import initialize_analyze_session
import pandas as pd

class Content:
    def __init__(self, model_url):
        self.uploaded_files = []
        self.file_dict = {}
        self.file_gt = {}
        self.model_url = model_url
        #self.analyst_name = analyst_name
        #self.data_src = data_src
        #self.analyst_description = analyst_description
        self.initialize()
        
        self.row1()

    def initialize(self):
        # FOR ENV
        load_dotenv()

        if 'content_in_the_website' not in st.session_state:
            st.session_state['content_in_the_website'] = ''
        if 'content_outside_the_website' not in st.session_state:
            st.session_state['content_outside_the_website'] = ''
    
    def process(self):
                session = st.session_state.analyze

                if (self.content_in_the_website or self.content_outside_the_website) and session == 'clicked':
                    with st.spinner('Uploading Contents...', show_time=True):
                        st.write('')
                        content_in_the_website = ""
                        content_outside_the_website = ""
                        try:
                            content_in_the_website += f"\nContent in the Website: {self.content_in_the_website}"
                        except KeyError:
                            pass
                        try:
                            content_outside_the_website += f"\nContent outside the Website: {self.content_outside_the_website}"
                        except KeyError:
                            pass

                        debug_info_content_in_the_website = {'data_field' : 'Content in the Website', 'result': content_in_the_website}
                        debug_info_content_outside_the_website = {'data_field' : 'Content outside the Website', 'result': content_outside_the_website}

                        if self.content_in_the_website:
                            if self.content_in_the_website != self.template_content_in_the_website:
                                st.session_state['content_in_the_website'] = 'uploaded'
                                collect_telemetry(debug_info_content_in_the_website)
                            else:
                                 pass
                        if self.content_outside_the_website:
                            if self.content_outside_the_website != self.template_content_outside_the_website:
                                st.session_state['content_outside_the_website'] = 'uploaded'
                                collect_telemetry(debug_info_content_outside_the_website)
                            else:
                                pass
                    
                        #with st.expander("Debug information", icon="⚙"):
                        #    st.write(debug_info)


                        st.session_state['analyzing'] = False
                        try:
                            self.file_dict.popitem()
                        except KeyError:
                            pass
                        
    def row1(self):
            self.template_content_in_the_website = ("Content and Messaging:\n"
                                                    "a. Is the text easy to read and understand?\n"
                                                    "b. Does it clearly explain what the business offers?\n"
                                                    "c. Are the brand’s Unique Selling Propositions (USPs) clearly emphasized?\n"
                                                    "d. Other Remarks:\n\n"
                                                    
                                                    "Call-to-Action (CTAs):\n"
                                                    "a. Are CTAs prominently placed and easy to find?\n"
                                                    "b. Are the CTAs strong and action-focused?\n"
                                                    "c. Do they appear in the right places?\n"
                                                    "d. Other Remarks:\n\n"
                                                    
                                                    "Images and Videos:\n"
                                                    "a. Are the images and videos high quality?\n"
                                                    "b. Do they clearly show the product or service?\n"
                                                    "c. Are the videos easy to watch (no unnecessary clicks or extra steps)?\n"
                                                    "d. Are the visuals engaging upon first glance?\n"
                                                    "e. Other Remarks:\n\n"
                                                    
                                                    "Blog and SEO:\n"
                                                    "a. Does the site have a blog section?\n"
                                                    "b. Is the blog updated regularly?\n"
                                                    "c. Are the articles helpful, relevant, and informative?\n"
                                                    "d. Are internal links used to guide users to related or deeper content?\n"
                                                    "e. Other Remarks:\n\n"
                                                    
                                                    "User Experience (UX) and Navigation:\n"
                                                    "a. Is the site easy to navigate with clear menus and categories?\n"
                                                    "b. Can users quickly find important information?\n"
                                                    "c. Are any interactions creating unnecessary friction (e.g., signups to view content)?\n"
                                                    "d. Other Remarks:\n\n"
                                                    
                                                    "Product or Services (For E-Commerce):\n"
                                                    "a. Does the site clearly explain the company’s products or services?\n"
                                                    "b. Are product or service details clear?\n"
                                                    "c. Are there enough pictures or videos?\n"
                                                    "d. Is there a sense of urgency or promotions to encourage action?\n"
                                                    "e. Other Remarks:")
            self.template_content_outside_the_website = ("Backlinks and Referring Domains:\n"
                                                            "a. Are there backlinks from relevant and authoritative websites?\n"
                                                            "b. Do the referring sites belong to the same industry or niche?\n"
                                                            "c. Are there spammy or low-quality backlinks (e.g., thin directories)?\n"
                                                            "d. Are the backlinks helpful and align with Google’s Helpful Content guidelines?\n"
                                                            "e. Are there any guest posts or articles on other websites?\n"
                                                            "f. Other Remarks:\n\n"
                                                            
                                                            "Community Engagement (Forums and Platforms):\n"
                                                            "a. Is the brand/product/company mentioned in online forums (e.g., Reddit, or Quora)?\n"
                                                            "b. Are the mentions from forums and platforms generally positive?\n"
                                                            "c. Are the mentions from forums and platforms generally negative?\n"
                                                            "d. Is it actively participating or present in these communities?\n"
                                                            "e. Is there a strategy for using personas or ambassadors to represent the client’s company/brand/product?\n"
                                                            "f. Other Remarks:\n\n"
                                                            
                                                            "Online Reviews and Reputation Management:\n"
                                                            "a. Are there recent reviews on platforms like Google, Trustpilot, or Yelp?\n"
                                                            "b. Are the reviews mostly positive?\n"
                                                            "c. Are the reviews mostly negative?\n"
                                                            "d. Is the client responding to reviews, especially complaints or fake ones?\n"
                                                            "e. Do the reviews mention recurring issues (e.g., poor support, unsolicited emails)?\n"
                                                            "f. Other Remarks:\n\n"
                                                            
                                                            "Public Relations and Media Coverage:\n"
                                                            "a. Has the client’s company been featured in news sites or magazines?\n"
                                                            "b. Are the articles helpful and recent?\n"
                                                            "c. Are PR opportunities being used to boost awareness?\n"
                                                            "d. Other Remarks:\n\n"
                                                            
                                                            "Branded Blog Networks:\n"
                                                            "a. Are there any off-page blog sites created by the client’s company?\n"
                                                            "b. Is the content unique, helpful, and adding SEO value?\n"
                                                            "c. Can the content be moved or consolidated into the main site?\n"
                                                            "d. Other Remarks:\n\n"
                                                            
                                                            "Email Marketing & CRM Engagement:\n"
                                                            "a. Is email being used to follow up with customers or leads (e.g., newsletters, cart recovery)?\n"
                                                            "b. Are they sending follow-up emails?\n"
                                                            "c. Are emails building relationships and promoting content or reviews?\n"
                                                            "d. Other Remarks:")
            
            self.content_in_the_website = st.text_area("Content in the Website:", 
                                                       value=self.template_content_in_the_website,
                                                        height=600)
            self.content_outside_the_website = st.text_area("Content outside the Website:", 
                                                            value=self.template_content_outside_the_website,
                                                            height=600)

            self.process()

if __name__ == "__main__":
    st.set_page_config(layout="wide")

upload = uploadFile()