Product backlog prioritization considers several factors:
1- Business value of the task - estimated revenue and customer value
2- Urgency- what is the uregency level of the problem this task will address?
3- Importance- what's the importance level of this task? (to make it simple- low / medium/ high / urgent)
4- Time estimation- how much time it will take to complete the task
So when Im prioritizing the backlog I will use mainly the above points to decide on the order of priority.
On the top of the backlog would be usually, 2-3 main roadmap features, that will be the "main chunks" of the sprint. Those features will usually be important, with high to low urgency and high business value. Their tasks usaully will be broken down into several sprints.
On top of that, I will include small "Quick win" tasks, which are urgent, important and preferably quick to accomplish. Those will be added to each sprint 2-5 tasks in average. Each task will be estimated and prioritized sepcifically.
Additionaly, i will choose 5 urgent and important bugs and prioritize them by the urgency level. If the bug is a blocker he will be prioritized high, possibly the higest (and will be handled immidetely). Other urgent bugs will be handled between/ additionally to roadmap features (when waiting for dependency etc.)
In my prioritization I will ensure the optimal "mix" of size-urgency-importance to get the team motivated and satisfied, while ensuring a backlog that is ready to "grab & go".